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

#include "gimple-match-head.cc"

bool
gimple_nop_convert (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  {
/* #line 148 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 148 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_p0) == SSA_NAME
		       || is_gimple_min_invariant (_p0)))
		    {
		      _p0 = do_valueize (valueize, _p0);
		      {
/* #line 151 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 151 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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:;
	      }
        }
      break;
    default:;
    }
  return false;
}

bool
gimple_power_of_two_cand (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  switch (TREE_CODE (_p0))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 799 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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_fail3:;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case INTEGER_CST:
      {
	{
/* #line 797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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_fail4:;
	}
        break;
      }
    default:;
    }
  return false;
}

bool
gimple_negate_expr_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  {
/* #line 1701 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 1701 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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_fail5:;
		      }
		  }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  {
/* #line 1712 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1712 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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_fail6:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case INTEGER_CST:
      {
	{
/* #line 1693 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
/* #line 1693 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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_fail7:;
	    }
	}
        break;
      }
    case FIXED_CST:
      {
	{
/* #line 1698 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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_fail8:;
	}
        break;
      }
    case REAL_CST:
      {
	{
/* #line 1704 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
/* #line 1704 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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_fail9:;
	    }
	}
        break;
      }
    case VECTOR_CST:
      {
	{
/* #line 1709 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
/* #line 1709 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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_fail10:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

bool
gimple_truth_valued_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  {
/* #line 1900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 1900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LT_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  {
/* #line 1903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  {
/* #line 1905 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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:;
	      }
        }
      break;
    default:;
    }
  return false;
}

bool
gimple_logical_inverted_value (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case TRUTH_NOT_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  {
/* #line 1907 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  if (gimple_truth_valued_p (_p0, valueize))
		    {
		      {
/* #line 1909 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 1911 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  if (gimple_truth_valued_p (_p0, valueize))
		    {
		      if (integer_truep (_p1))
			{
			  {
/* #line 1913 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  if (gimple_truth_valued_p (_p0, valueize))
		    {
		      if (integer_truep (_p1))
			{
			  {
/* #line 1915 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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:;
	      }
        }
      break;
    default:;
    }
  return false;
}

bool
gimple_zero_one_valued_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  {
/* #line 1940 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 1940 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 (gimple_truth_valued_p (t, valueize))
    {
      {
/* #line 1946 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 1946 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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
gimple_with_possible_nonzero_bits (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case INTEGER_CST:
      {
	{
/* #line 2430 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 2433 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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
gimple_with_possible_nonzero_bits2 (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  if (gimple_with_possible_nonzero_bits (_p0, valueize))
		    {
		      {
/* #line 2437 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 (gimple_with_possible_nonzero_bits (_p1, valueize))
		    {
		      {
/* #line 2437 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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:;
	      }
        }
      break;
    default:;
    }
if (gimple_with_possible_nonzero_bits (t, valueize))
  {
    {
/* #line 2435 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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
gimple_with_certain_nonzero_bits2 (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 2444 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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_fail44:;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case INTEGER_CST:
      {
	{
/* #line 2442 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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_fail45:;
	}
        break;
      }
    default:;
    }
  return false;
}

bool
gimple_min_value (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case INTEGER_CST:
      {
	{
/* #line 2613 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
/* #line 2613 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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
gimple_max_value (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case INTEGER_CST:
      {
	{
/* #line 2618 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
/* #line 2618 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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
gimple_compositional_complex (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  switch (TREE_CODE (_p0))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p0))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case COMPLEX_EXPR:
			        {
				  tree _q20 = gimple_assign_rhs1 (_a2);
				  _q20 = do_valueize (valueize, _q20);
				  tree _q21 = gimple_assign_rhs2 (_a2);
				  _q21 = do_valueize (valueize, _q21);
				  {
/* #line 4305 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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;
		    default:;
		    }
	          break;
	        }
	      case COMPLEX_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  {
/* #line 4305 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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:;
	      }
        }
      break;
    default:;
    }
  return false;
}

bool
gimple_nop_atomic_bit_test_and_p (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  switch (TREE_CODE (_p0))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p0))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q20 = gimple_assign_rhs1 (_a2);
				  _q20 = do_valueize (valueize, _q20);
				  switch (TREE_CODE (_q20))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q20))
				        {
					  if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_1:
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_16:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_16:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_16:
					        if (gimple_call_num_args (_c3) == 3)
					          {
						    tree _q30 = gimple_call_arg (_c3, 0);
						    _q30 = do_valueize (valueize, _q30);
						    tree _q31 = gimple_call_arg (_c3, 1);
						    _q31 = do_valueize (valueize, _q31);
						    tree _q32 = gimple_call_arg (_c3, 2);
						    _q32 = do_valueize (valueize, _q32);
						    switch (TREE_CODE (_q31))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q31))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								case LSHIFT_EXPR:
								  {
								    tree _q50 = gimple_assign_rhs1 (_a4);
								    _q50 = do_valueize (valueize, _q50);
								    tree _q51 = gimple_assign_rhs2 (_a4);
								    _q51 = do_valueize (valueize, _q51);
								    if (integer_onep (_q50))
								      {
									switch (TREE_CODE (_p1))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _p1))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    CASE_CONVERT:
										      {
											tree _q90 = gimple_assign_rhs1 (_a5);
											_q90 = do_valueize (valueize, _q90);
											if ((_q90 == _q31 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q31, 0) && types_match (_q90, _q31)))
											  {
											    {
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail50:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail51:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
								  {
/* #line 4524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4528 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4521, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail52:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
						  {
						    tree _q31_pops[1];
						    if (gimple_nop_convert (_q31, _q31_pops, valueize))
						      {
							tree _q50 = _q31_pops[0];
							switch (TREE_CODE (_q50))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q50))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LSHIFT_EXPR:
								      {
									tree _q60 = gimple_assign_rhs1 (_a4);
									_q60 = do_valueize (valueize, _q60);
									tree _q61 = gimple_assign_rhs2 (_a4);
									_q61 = do_valueize (valueize, _q61);
									if (integer_onep (_q60))
									  {
									    switch (TREE_CODE (_p1))
									      {
									      case SSA_NAME:
									        if (gimple *_d5 = get_def (valueize, _p1))
									          {
										    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										      switch (gimple_assign_rhs_code (_a5))
											{
											CASE_CONVERT:
											  {
											    tree _q100 = gimple_assign_rhs1 (_a5);
											    _q100 = do_valueize (valueize, _q100);
											    if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
											      {
												{
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail53:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail54:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
					        if (gimple_call_num_args (_c3) == 2)
					          {
						    tree _q30 = gimple_call_arg (_c3, 0);
						    _q30 = do_valueize (valueize, _q30);
						    tree _q31 = gimple_call_arg (_c3, 1);
						    _q31 = do_valueize (valueize, _q31);
						    switch (TREE_CODE (_q31))
						      {
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4535 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
								  {
/* #line 4535 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4539 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4532, __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:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gcall *_c4 = dyn_cast <gcall *> (_d4))
							    switch (gimple_call_combined_fn (_c4))
							      {
							      case CFN_BUILT_IN_ATOMIC_FETCH_OR_1:
							      case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
							      case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
							      case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
							      case CFN_BUILT_IN_ATOMIC_FETCH_OR_16:
							      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
							      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
							      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
							      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
							      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_16:
							      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
							      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
							      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
							      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
							      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_16:
							        if (gimple_call_num_args (_c4) == 3)
							          {
								    tree _q50 = gimple_call_arg (_c4, 0);
								    _q50 = do_valueize (valueize, _q50);
								    tree _q51 = gimple_call_arg (_c4, 1);
								    _q51 = do_valueize (valueize, _q51);
								    tree _q52 = gimple_call_arg (_c4, 2);
								    _q52 = do_valueize (valueize, _q52);
								    {
								      tree _q51_pops[1];
								      if (gimple_nop_convert (_q51, _q51_pops, valueize))
								        {
									  tree _q70 = _q51_pops[0];
									  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
									    {
									      switch (TREE_CODE (_q70))
									        {
										case SSA_NAME:
										  if (gimple *_d5 = get_def (valueize, _q70))
										    {
										      if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										        switch (gimple_assign_rhs_code (_a5))
											  {
											  case LSHIFT_EXPR:
											    {
											      tree _q90 = gimple_assign_rhs1 (_a5);
											      _q90 = do_valueize (valueize, _q90);
											      tree _q91 = gimple_assign_rhs2 (_a5);
											      _q91 = do_valueize (valueize, _q91);
											      if (integer_onep (_q90))
												{
												  {
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail56:;
												      }
												  }
											        }
											      break;
											    }
											  default:;
											  }
										    }
										  break;
									        default:;
									        }
									    }
}
								    }
								    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
								      {
									switch (TREE_CODE (_q51))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _q51))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    case LSHIFT_EXPR:
										      {
											tree _q80 = gimple_assign_rhs1 (_a5);
											_q80 = do_valueize (valueize, _q80);
											tree _q81 = gimple_assign_rhs2 (_a5);
											_q81 = do_valueize (valueize, _q81);
											if (integer_onep (_q80))
											  {
											    {
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail57:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
					  else if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_1:
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_16:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_16:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_16:
					        if (gimple_call_num_args (_c3) == 3)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    tree _q41 = gimple_call_arg (_c3, 1);
						    _q41 = do_valueize (valueize, _q41);
						    tree _q42 = gimple_call_arg (_c3, 2);
						    _q42 = do_valueize (valueize, _q42);
						    {
						      tree _q41_pops[1];
						      if (gimple_nop_convert (_q41, _q41_pops, valueize))
						        {
							  tree _q60 = _q41_pops[0];
							  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
							    {
							      switch (TREE_CODE (_q60))
							        {
								case SSA_NAME:
								  if (gimple *_d4 = get_def (valueize, _q60))
								    {
								      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								        switch (gimple_assign_rhs_code (_a4))
									  {
									  case LSHIFT_EXPR:
									    {
									      tree _q80 = gimple_assign_rhs1 (_a4);
									      _q80 = do_valueize (valueize, _q80);
									      tree _q81 = gimple_assign_rhs2 (_a4);
									      _q81 = do_valueize (valueize, _q81);
									      if (integer_onep (_q80))
										{
										  {
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail58:;
										      }
										  }
									        }
									      break;
									    }
									  default:;
									  }
								    }
								  break;
							        default:;
							        }
							    }
}
						    }
						    if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
						      {
							switch (TREE_CODE (_q41))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q41))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LSHIFT_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if (integer_onep (_q70))
									  {
									    {
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail59:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
			  else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_1:
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_16:
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_16:
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_16:
			        if (gimple_call_num_args (_c2) == 3)
			          {
				    tree _q20 = gimple_call_arg (_c2, 0);
				    _q20 = do_valueize (valueize, _q20);
				    tree _q21 = gimple_call_arg (_c2, 1);
				    _q21 = do_valueize (valueize, _q21);
				    tree _q22 = gimple_call_arg (_c2, 2);
				    _q22 = do_valueize (valueize, _q22);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						case LSHIFT_EXPR:
						  {
						    tree _q40 = gimple_assign_rhs1 (_a3);
						    _q40 = do_valueize (valueize, _q40);
						    tree _q41 = gimple_assign_rhs2 (_a3);
						    _q41 = do_valueize (valueize, _q41);
						    if (integer_onep (_q40))
						      {
							switch (TREE_CODE (_p1))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _p1))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    CASE_CONVERT:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
									  {
									    {
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail60:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail61:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
						  {
/* #line 4524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4528 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4521, __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;
				        }
				      default:;
				      }
				  {
				    tree _q21_pops[1];
				    if (gimple_nop_convert (_q21, _q21_pops, valueize))
				      {
					tree _q40 = _q21_pops[0];
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LSHIFT_EXPR:
						      {
							tree _q50 = gimple_assign_rhs1 (_a3);
							_q50 = do_valueize (valueize, _q50);
							tree _q51 = gimple_assign_rhs2 (_a3);
							_q51 = do_valueize (valueize, _q51);
							if (integer_onep (_q50))
							  {
							    switch (TREE_CODE (_p1))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _p1))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									CASE_CONVERT:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
									      {
										{
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail63:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail64:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
			        if (gimple_call_num_args (_c2) == 2)
			          {
				    tree _q20 = gimple_call_arg (_c2, 0);
				    _q20 = do_valueize (valueize, _q20);
				    tree _q21 = gimple_call_arg (_c2, 1);
				    _q21 = do_valueize (valueize, _q21);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						case LSHIFT_EXPR:
						  {
						    tree _q40 = gimple_assign_rhs1 (_a3);
						    _q40 = do_valueize (valueize, _q40);
						    tree _q41 = gimple_assign_rhs2 (_a3);
						    _q41 = do_valueize (valueize, _q41);
						    if (integer_onep (_q40))
						      {
							switch (TREE_CODE (_p1))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _p1))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    CASE_CONVERT:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
									  {
									    {
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail65:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
							if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
							  {
							    {
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail66:;
								}
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4535 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
						  {
/* #line 4535 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int ibit = tree_log2 (captures[0]);
 int ibit2 = tree_log2 (captures[1]);
/* #line 4539 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4532, __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:;
				      }
				  {
				    tree _q21_pops[1];
				    if (gimple_nop_convert (_q21, _q21_pops, valueize))
				      {
					tree _q40 = _q21_pops[0];
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LSHIFT_EXPR:
						      {
							tree _q50 = gimple_assign_rhs1 (_a3);
							_q50 = do_valueize (valueize, _q50);
							tree _q51 = gimple_assign_rhs2 (_a3);
							_q51 = do_valueize (valueize, _q51);
							if (integer_onep (_q50))
							  {
							    switch (TREE_CODE (_p1))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _p1))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									CASE_CONVERT:
									  {
									    tree _q80 = gimple_assign_rhs1 (_a4);
									    _q80 = do_valueize (valueize, _q80);
									    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
									      {
										{
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail68:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							      {
								{
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								    {
								      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
								      {
									res_ops[0] = captures[0];
									res_ops[1] = captures[0];
									res_ops[2] = captures[1];
									return true;
								      }
next_after_fail69:;
								    }
								}
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_1:
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
					      case CFN_BUILT_IN_ATOMIC_FETCH_OR_16:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
					      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_16:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
					      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_16:
					        if (gimple_call_num_args (_c3) == 3)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    tree _q41 = gimple_call_arg (_c3, 1);
						    _q41 = do_valueize (valueize, _q41);
						    tree _q42 = gimple_call_arg (_c3, 2);
						    _q42 = do_valueize (valueize, _q42);
						    {
						      tree _q41_pops[1];
						      if (gimple_nop_convert (_q41, _q41_pops, valueize))
						        {
							  tree _q60 = _q41_pops[0];
							  if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
							    {
							      switch (TREE_CODE (_q60))
							        {
								case SSA_NAME:
								  if (gimple *_d4 = get_def (valueize, _q60))
								    {
								      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								        switch (gimple_assign_rhs_code (_a4))
									  {
									  case LSHIFT_EXPR:
									    {
									      tree _q80 = gimple_assign_rhs1 (_a4);
									      _q80 = do_valueize (valueize, _q80);
									      tree _q81 = gimple_assign_rhs2 (_a4);
									      _q81 = do_valueize (valueize, _q81);
									      if (integer_onep (_q80))
										{
										  {
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail70:;
										      }
										  }
									        }
									      break;
									    }
									  default:;
									  }
								    }
								  break;
							        default:;
							        }
							    }
}
						    }
						    if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
						      {
							switch (TREE_CODE (_q41))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q41))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LSHIFT_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if (integer_onep (_q70))
									  {
									    {
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail71:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
			  else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_1:
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
			      case CFN_BUILT_IN_ATOMIC_FETCH_OR_16:
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
			      case CFN_BUILT_IN_ATOMIC_FETCH_XOR_16:
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
			      case CFN_BUILT_IN_ATOMIC_XOR_FETCH_16:
			        if (gimple_call_num_args (_c2) == 3)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    tree _q31 = gimple_call_arg (_c2, 1);
				    _q31 = do_valueize (valueize, _q31);
				    tree _q32 = gimple_call_arg (_c2, 2);
				    _q32 = do_valueize (valueize, _q32);
				    {
				      tree _q31_pops[1];
				      if (gimple_nop_convert (_q31, _q31_pops, valueize))
				        {
					  tree _q50 = _q31_pops[0];
					  if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					    {
					      switch (TREE_CODE (_q50))
					        {
						case SSA_NAME:
						  if (gimple *_d3 = get_def (valueize, _q50))
						    {
						      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						        switch (gimple_assign_rhs_code (_a3))
							  {
							  case LSHIFT_EXPR:
							    {
							      tree _q70 = gimple_assign_rhs1 (_a3);
							      _q70 = do_valueize (valueize, _q70);
							      tree _q71 = gimple_assign_rhs2 (_a3);
							      _q71 = do_valueize (valueize, _q71);
							      if (integer_onep (_q70))
								{
								  {
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail72:;
								      }
								  }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
}
				    }
				    if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
				      {
					switch (TREE_CODE (_q31))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q31))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LSHIFT_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (integer_onep (_q60))
							  {
							    {
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
/* #line 4548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4543, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail73:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p0))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p0))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q20 = gimple_assign_rhs1 (_a2);
				  _q20 = do_valueize (valueize, _q20);
				  switch (TREE_CODE (_q20))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q20))
				        {
					  if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
					        if (gimple_call_num_args (_c3) == 2)
					          {
						    tree _q30 = gimple_call_arg (_c3, 0);
						    _q30 = do_valueize (valueize, _q30);
						    tree _q31 = gimple_call_arg (_c3, 1);
						    _q31 = do_valueize (valueize, _q31);
						    switch (TREE_CODE (_q31))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q31))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								case LSHIFT_EXPR:
								  {
								    tree _q50 = gimple_assign_rhs1 (_a4);
								    _q50 = do_valueize (valueize, _q50);
								    tree _q51 = gimple_assign_rhs2 (_a4);
								    _q51 = do_valueize (valueize, _q51);
								    if (integer_onep (_q50))
								      {
									switch (TREE_CODE (_p1))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _p1))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    CASE_CONVERT:
										      {
											tree _q80 = gimple_assign_rhs1 (_a5);
											_q80 = do_valueize (valueize, _q80);
											if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
											  {
											    {
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail74:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
									  {
									    {
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail75:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						  {
						    tree _q31_pops[1];
						    if (gimple_nop_convert (_q31, _q31_pops, valueize))
						      {
							tree _q50 = _q31_pops[0];
							switch (TREE_CODE (_q50))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q50))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LSHIFT_EXPR:
								      {
									tree _q60 = gimple_assign_rhs1 (_a4);
									_q60 = do_valueize (valueize, _q60);
									tree _q61 = gimple_assign_rhs2 (_a4);
									_q61 = do_valueize (valueize, _q61);
									if (integer_onep (_q60))
									  {
									    switch (TREE_CODE (_p1))
									      {
									      case SSA_NAME:
									        if (gimple *_d5 = get_def (valueize, _p1))
									          {
										    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										      switch (gimple_assign_rhs_code (_a5))
											{
											CASE_CONVERT:
											  {
											    tree _q90 = gimple_assign_rhs1 (_a5);
											    _q90 = do_valueize (valueize, _q90);
											    if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
											      {
												{
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[0];
													res_ops[2] = captures[1];
													return true;
												      }
next_after_fail76:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[0];
											res_ops[2] = captures[1];
											return true;
										      }
next_after_fail77:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gcall *_c4 = dyn_cast <gcall *> (_d4))
							    switch (gimple_call_combined_fn (_c4))
							      {
							      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
							      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
							      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
							      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
							      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
							      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
							        if (gimple_call_num_args (_c4) == 2)
							          {
								    tree _q50 = gimple_call_arg (_c4, 0);
								    _q50 = do_valueize (valueize, _q50);
								    tree _q51 = gimple_call_arg (_c4, 1);
								    _q51 = do_valueize (valueize, _q51);
								    {
								      tree _q51_pops[1];
								      if (gimple_nop_convert (_q51, _q51_pops, valueize))
								        {
									  tree _q70 = _q51_pops[0];
									  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
									    {
									      switch (TREE_CODE (_q70))
									        {
										case SSA_NAME:
										  if (gimple *_d5 = get_def (valueize, _q70))
										    {
										      if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										        switch (gimple_assign_rhs_code (_a5))
											  {
											  case LSHIFT_EXPR:
											    {
											      tree _q90 = gimple_assign_rhs1 (_a5);
											      _q90 = do_valueize (valueize, _q90);
											      tree _q91 = gimple_assign_rhs2 (_a5);
											      _q91 = do_valueize (valueize, _q91);
											      if (integer_onep (_q90))
												{
												  {
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												      {
													if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
													{
													  res_ops[0] = captures[0];
													  res_ops[1] = captures[0];
													  res_ops[2] = captures[1];
													  return true;
													}
next_after_fail78:;
												      }
												  }
											        }
											      break;
											    }
											  default:;
											  }
										    }
										  break;
									        default:;
									        }
									    }
}
								    }
								    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
								      {
									switch (TREE_CODE (_q51))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _q51))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    case LSHIFT_EXPR:
										      {
											tree _q80 = gimple_assign_rhs1 (_a5);
											_q80 = do_valueize (valueize, _q80);
											tree _q81 = gimple_assign_rhs2 (_a5);
											_q81 = do_valueize (valueize, _q81);
											if (integer_onep (_q80))
											  {
											    {
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[0];
												    res_ops[2] = captures[1];
												    return true;
												  }
next_after_fail79:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
							          }
							        break;
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
					  else if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
					        if (gimple_call_num_args (_c3) == 2)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    tree _q41 = gimple_call_arg (_c3, 1);
						    _q41 = do_valueize (valueize, _q41);
						    {
						      tree _q41_pops[1];
						      if (gimple_nop_convert (_q41, _q41_pops, valueize))
						        {
							  tree _q60 = _q41_pops[0];
							  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
							    {
							      switch (TREE_CODE (_q60))
							        {
								case SSA_NAME:
								  if (gimple *_d4 = get_def (valueize, _q60))
								    {
								      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								        switch (gimple_assign_rhs_code (_a4))
									  {
									  case LSHIFT_EXPR:
									    {
									      tree _q80 = gimple_assign_rhs1 (_a4);
									      _q80 = do_valueize (valueize, _q80);
									      tree _q81 = gimple_assign_rhs2 (_a4);
									      _q81 = do_valueize (valueize, _q81);
									      if (integer_onep (_q80))
										{
										  {
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail80:;
										      }
										  }
									        }
									      break;
									    }
									  default:;
									  }
								    }
								  break;
							        default:;
							        }
							    }
}
						    }
						    if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
						      {
							switch (TREE_CODE (_q41))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q41))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LSHIFT_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if (integer_onep (_q70))
									  {
									    {
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail81:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_q20))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q20))
				        {
					  if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_1:
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_16:
					        if (gimple_call_num_args (_c3) == 3)
					          {
						    tree _q30 = gimple_call_arg (_c3, 0);
						    _q30 = do_valueize (valueize, _q30);
						    tree _q31 = gimple_call_arg (_c3, 1);
						    _q31 = do_valueize (valueize, _q31);
						    tree _q32 = gimple_call_arg (_c3, 2);
						    _q32 = do_valueize (valueize, _q32);
						    switch (TREE_CODE (_q31))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q31))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								case BIT_NOT_EXPR:
								  {
								    tree _q50 = gimple_assign_rhs1 (_a4);
								    _q50 = do_valueize (valueize, _q50);
								    switch (TREE_CODE (_q50))
								      {
								      case SSA_NAME:
								        if (gimple *_d5 = get_def (valueize, _q50))
								          {
									    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									      switch (gimple_assign_rhs_code (_a5))
										{
										case LSHIFT_EXPR:
										  {
										    tree _q60 = gimple_assign_rhs1 (_a5);
										    _q60 = do_valueize (valueize, _q60);
										    tree _q61 = gimple_assign_rhs2 (_a5);
										    _q61 = do_valueize (valueize, _q61);
										    if (integer_onep (_q60))
										      {
											switch (TREE_CODE (_p1))
											  {
											  case SSA_NAME:
											    if (gimple *_d6 = get_def (valueize, _p1))
											      {
												if (gassign *_a6 = dyn_cast <gassign *> (_d6))
												  switch (gimple_assign_rhs_code (_a6))
												    {
												    CASE_CONVERT:
												      {
													tree _q100 = gimple_assign_rhs1 (_a6);
													_q100 = do_valueize (valueize, _q100);
													if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
													  {
													    {
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail82:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
											if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
											  {
											    {
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail83:;
												}
											    }
											  }
										      }
										    break;
										  }
										default:;
										}
								          }
								        break;
								      default:;
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4560 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30, _q32 };
								  {
/* #line 4560 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int ibit = wi::exact_log2 (wi::zext (wi::bit_not (wi::to_wide (captures[0])),
 TYPE_PRECISION(type)));
 int ibit2 = tree_log2 (captures[1]);
/* #line 4565 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4557, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail84:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
						  {
						    tree _q31_pops[1];
						    if (gimple_nop_convert (_q31, _q31_pops, valueize))
						      {
							tree _q50 = _q31_pops[0];
							switch (TREE_CODE (_q50))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q50))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case BIT_NOT_EXPR:
								      {
									tree _q60 = gimple_assign_rhs1 (_a4);
									_q60 = do_valueize (valueize, _q60);
									switch (TREE_CODE (_q60))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _q60))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    case LSHIFT_EXPR:
										      {
											tree _q70 = gimple_assign_rhs1 (_a5);
											_q70 = do_valueize (valueize, _q70);
											tree _q71 = gimple_assign_rhs2 (_a5);
											_q71 = do_valueize (valueize, _q71);
											if (integer_onep (_q70))
											  {
											    switch (TREE_CODE (_p1))
											      {
											      case SSA_NAME:
											        if (gimple *_d6 = get_def (valueize, _p1))
											          {
												    if (gassign *_a6 = dyn_cast <gassign *> (_d6))
												      switch (gimple_assign_rhs_code (_a6))
													{
													CASE_CONVERT:
													  {
													    tree _q110 = gimple_assign_rhs1 (_a6);
													    _q110 = do_valueize (valueize, _q110);
													    if ((_q110 == _q60 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q60, 0) && types_match (_q110, _q60)))
													      {
														{
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail85:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
											      {
												{
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail86:;
												    }
												}
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
					        if (gimple_call_num_args (_c3) == 2)
					          {
						    tree _q30 = gimple_call_arg (_c3, 0);
						    _q30 = do_valueize (valueize, _q30);
						    tree _q31 = gimple_call_arg (_c3, 1);
						    _q31 = do_valueize (valueize, _q31);
						    switch (TREE_CODE (_q31))
						      {
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4573 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30 };
								  {
/* #line 4573 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int ibit = wi::exact_log2 (wi::zext (wi::bit_not (wi::to_wide (captures[0])),
 TYPE_PRECISION(type)));
 int ibit2 = tree_log2 (captures[1]);
/* #line 4578 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
									{
									  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4569, __FILE__, __LINE__);
									  {
									    res_ops[0] = captures[0];
									    res_ops[1] = captures[1];
									    res_ops[2] = captures[2];
									    return true;
									  }
next_after_fail87:;
									}
								  }
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gcall *_c4 = dyn_cast <gcall *> (_d4))
							    switch (gimple_call_combined_fn (_c4))
							      {
							      case CFN_BUILT_IN_ATOMIC_FETCH_AND_1:
							      case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
							      case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
							      case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
							      case CFN_BUILT_IN_ATOMIC_FETCH_AND_16:
							        if (gimple_call_num_args (_c4) == 3)
							          {
								    tree _q50 = gimple_call_arg (_c4, 0);
								    _q50 = do_valueize (valueize, _q50);
								    tree _q51 = gimple_call_arg (_c4, 1);
								    _q51 = do_valueize (valueize, _q51);
								    tree _q52 = gimple_call_arg (_c4, 2);
								    _q52 = do_valueize (valueize, _q52);
								    switch (TREE_CODE (_q51))
								      {
								      case SSA_NAME:
								        if (gimple *_d5 = get_def (valueize, _q51))
								          {
									    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									      switch (gimple_assign_rhs_code (_a5))
										{
										case BIT_NOT_EXPR:
										  {
										    tree _q70 = gimple_assign_rhs1 (_a5);
										    _q70 = do_valueize (valueize, _q70);
										    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
										      {
											switch (TREE_CODE (_q70))
											  {
											  case SSA_NAME:
											    if (gimple *_d6 = get_def (valueize, _q70))
											      {
												if (gassign *_a6 = dyn_cast <gassign *> (_d6))
												  switch (gimple_assign_rhs_code (_a6))
												    {
												    case LSHIFT_EXPR:
												      {
													tree _q90 = gimple_assign_rhs1 (_a6);
													_q90 = do_valueize (valueize, _q90);
													tree _q91 = gimple_assign_rhs2 (_a6);
													_q91 = do_valueize (valueize, _q91);
													if (integer_onep (_q90))
													  {
													    {
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													      tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91, _q52 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail88:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
										      }
										    break;
										  }
										default:;
										}
								          }
								        break;
								      default:;
								      }
								  {
								    tree _q51_pops[1];
								    if (gimple_nop_convert (_q51, _q51_pops, valueize))
								      {
									tree _q70 = _q51_pops[0];
									switch (TREE_CODE (_q70))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _q70))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    case BIT_NOT_EXPR:
										      {
											tree _q80 = gimple_assign_rhs1 (_a5);
											_q80 = do_valueize (valueize, _q80);
											if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
											  {
											    switch (TREE_CODE (_q80))
											      {
											      case SSA_NAME:
											        if (gimple *_d6 = get_def (valueize, _q80))
											          {
												    if (gassign *_a6 = dyn_cast <gassign *> (_d6))
												      switch (gimple_assign_rhs_code (_a6))
													{
													case LSHIFT_EXPR:
													  {
													    tree _q100 = gimple_assign_rhs1 (_a6);
													    _q100 = do_valueize (valueize, _q100);
													    tree _q101 = gimple_assign_rhs2 (_a6);
													    _q101 = do_valueize (valueize, _q101);
													    if (integer_onep (_q100))
													      {
														{
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														  tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101, _q52 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail89:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
}
								  }
							          }
							        break;
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
					  else if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_1:
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_16:
					        if (gimple_call_num_args (_c3) == 3)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    tree _q41 = gimple_call_arg (_c3, 1);
						    _q41 = do_valueize (valueize, _q41);
						    tree _q42 = gimple_call_arg (_c3, 2);
						    _q42 = do_valueize (valueize, _q42);
						    switch (TREE_CODE (_q41))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q41))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								case BIT_NOT_EXPR:
								  {
								    tree _q60 = gimple_assign_rhs1 (_a4);
								    _q60 = do_valueize (valueize, _q60);
								    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
								      {
									switch (TREE_CODE (_q60))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _q60))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    case LSHIFT_EXPR:
										      {
											tree _q80 = gimple_assign_rhs1 (_a5);
											_q80 = do_valueize (valueize, _q80);
											tree _q81 = gimple_assign_rhs2 (_a5);
											_q81 = do_valueize (valueize, _q81);
											if (integer_onep (_q80))
											  {
											    {
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81, _q42 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail90:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						  {
						    tree _q41_pops[1];
						    if (gimple_nop_convert (_q41, _q41_pops, valueize))
						      {
							tree _q60 = _q41_pops[0];
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case BIT_NOT_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
									  {
									    switch (TREE_CODE (_q70))
									      {
									      case SSA_NAME:
									        if (gimple *_d5 = get_def (valueize, _q70))
									          {
										    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										      switch (gimple_assign_rhs_code (_a5))
											{
											case LSHIFT_EXPR:
											  {
											    tree _q90 = gimple_assign_rhs1 (_a5);
											    _q90 = do_valueize (valueize, _q90);
											    tree _q91 = gimple_assign_rhs2 (_a5);
											    _q91 = do_valueize (valueize, _q91);
											    if (integer_onep (_q90))
											      {
												{
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91, _q42 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail91:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
					      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
					        if (gimple_call_num_args (_c3) == 2)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    tree _q41 = gimple_call_arg (_c3, 1);
						    _q41 = do_valueize (valueize, _q41);
						    {
						      tree _q41_pops[1];
						      if (gimple_nop_convert (_q41, _q41_pops, valueize))
						        {
							  tree _q60 = _q41_pops[0];
							  if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
							    {
							      switch (TREE_CODE (_q60))
							        {
								case SSA_NAME:
								  if (gimple *_d4 = get_def (valueize, _q60))
								    {
								      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								        switch (gimple_assign_rhs_code (_a4))
									  {
									  case LSHIFT_EXPR:
									    {
									      tree _q80 = gimple_assign_rhs1 (_a4);
									      _q80 = do_valueize (valueize, _q80);
									      tree _q81 = gimple_assign_rhs2 (_a4);
									      _q81 = do_valueize (valueize, _q81);
									      if (integer_onep (_q80))
										{
										  {
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										      {
											if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
											{
											  res_ops[0] = captures[0];
											  res_ops[1] = captures[0];
											  res_ops[2] = captures[1];
											  return true;
											}
next_after_fail92:;
										      }
										  }
									        }
									      break;
									    }
									  default:;
									  }
								    }
								  break;
							        default:;
							        }
							    }
}
						    }
						    if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
						      {
							switch (TREE_CODE (_q41))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q41))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LSHIFT_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if (integer_onep (_q70))
									  {
									    {
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[0];
										    res_ops[2] = captures[1];
										    return true;
										  }
next_after_fail93:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
					          }
					        break;
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
			  else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
			      case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
			        if (gimple_call_num_args (_c2) == 2)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    tree _q31 = gimple_call_arg (_c2, 1);
				    _q31 = do_valueize (valueize, _q31);
				    {
				      tree _q31_pops[1];
				      if (gimple_nop_convert (_q31, _q31_pops, valueize))
				        {
					  tree _q50 = _q31_pops[0];
					  if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					    {
					      switch (TREE_CODE (_q50))
					        {
						case SSA_NAME:
						  if (gimple *_d3 = get_def (valueize, _q50))
						    {
						      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						        switch (gimple_assign_rhs_code (_a3))
							  {
							  case LSHIFT_EXPR:
							    {
							      tree _q70 = gimple_assign_rhs1 (_a3);
							      _q70 = do_valueize (valueize, _q70);
							      tree _q71 = gimple_assign_rhs2 (_a3);
							      _q71 = do_valueize (valueize, _q71);
							      if (integer_onep (_q70))
								{
								  {
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								      {
									if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[0];
									  res_ops[2] = captures[1];
									  return true;
									}
next_after_fail94:;
								      }
								  }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    }
}
				    }
				    if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
				      {
					switch (TREE_CODE (_q31))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q31))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LSHIFT_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (integer_onep (_q60))
							  {
							    {
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
/* #line 4555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
								{
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4550, __FILE__, __LINE__);
								  {
								    res_ops[0] = captures[0];
								    res_ops[1] = captures[0];
								    res_ops[2] = captures[1];
								    return true;
								  }
next_after_fail95:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				      }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p0))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p0))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_1:
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_16:
			        if (gimple_call_num_args (_c2) == 3)
			          {
				    tree _q20 = gimple_call_arg (_c2, 0);
				    _q20 = do_valueize (valueize, _q20);
				    tree _q21 = gimple_call_arg (_c2, 1);
				    _q21 = do_valueize (valueize, _q21);
				    tree _q22 = gimple_call_arg (_c2, 2);
				    _q22 = do_valueize (valueize, _q22);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						case BIT_NOT_EXPR:
						  {
						    tree _q40 = gimple_assign_rhs1 (_a3);
						    _q40 = do_valueize (valueize, _q40);
						    switch (TREE_CODE (_q40))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q40))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								case LSHIFT_EXPR:
								  {
								    tree _q50 = gimple_assign_rhs1 (_a4);
								    _q50 = do_valueize (valueize, _q50);
								    tree _q51 = gimple_assign_rhs2 (_a4);
								    _q51 = do_valueize (valueize, _q51);
								    if (integer_onep (_q50))
								      {
									switch (TREE_CODE (_p1))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _p1))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    CASE_CONVERT:
										      {
											tree _q90 = gimple_assign_rhs1 (_a5);
											_q90 = do_valueize (valueize, _q90);
											if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
											  {
											    {
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail96:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
									  {
									    {
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail97:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4560 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20, _q22 };
						  {
/* #line 4560 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int ibit = wi::exact_log2 (wi::zext (wi::bit_not (wi::to_wide (captures[0])),
 TYPE_PRECISION(type)));
 int ibit2 = tree_log2 (captures[1]);
/* #line 4565 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4557, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail98:;
							}
						  }
						}
					        break;
					      }
					    default:;
					    }
				          break;
				        }
				      default:;
				      }
				  {
				    tree _q21_pops[1];
				    if (gimple_nop_convert (_q21, _q21_pops, valueize))
				      {
					tree _q40 = _q21_pops[0];
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case BIT_NOT_EXPR:
						      {
							tree _q50 = gimple_assign_rhs1 (_a3);
							_q50 = do_valueize (valueize, _q50);
							switch (TREE_CODE (_q50))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q50))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LSHIFT_EXPR:
								      {
									tree _q60 = gimple_assign_rhs1 (_a4);
									_q60 = do_valueize (valueize, _q60);
									tree _q61 = gimple_assign_rhs2 (_a4);
									_q61 = do_valueize (valueize, _q61);
									if (integer_onep (_q60))
									  {
									    switch (TREE_CODE (_p1))
									      {
									      case SSA_NAME:
									        if (gimple *_d5 = get_def (valueize, _p1))
									          {
										    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										      switch (gimple_assign_rhs_code (_a5))
											{
											CASE_CONVERT:
											  {
											    tree _q100 = gimple_assign_rhs1 (_a5);
											    _q100 = do_valueize (valueize, _q100);
											    if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
											      {
												{
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail99:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail100:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
			        if (gimple_call_num_args (_c2) == 2)
			          {
				    tree _q20 = gimple_call_arg (_c2, 0);
				    _q20 = do_valueize (valueize, _q20);
				    tree _q21 = gimple_call_arg (_c2, 1);
				    _q21 = do_valueize (valueize, _q21);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						case BIT_NOT_EXPR:
						  {
						    tree _q40 = gimple_assign_rhs1 (_a3);
						    _q40 = do_valueize (valueize, _q40);
						    switch (TREE_CODE (_q40))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q40))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								case LSHIFT_EXPR:
								  {
								    tree _q50 = gimple_assign_rhs1 (_a4);
								    _q50 = do_valueize (valueize, _q50);
								    tree _q51 = gimple_assign_rhs2 (_a4);
								    _q51 = do_valueize (valueize, _q51);
								    if (integer_onep (_q50))
								      {
									switch (TREE_CODE (_p1))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _p1))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    CASE_CONVERT:
										      {
											tree _q80 = gimple_assign_rhs1 (_a5);
											_q80 = do_valueize (valueize, _q80);
											if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
											  {
											    {
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail101:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
									if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
									  {
									    {
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail102:;
										}
									    }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4573 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20 };
						  {
/* #line 4573 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int ibit = wi::exact_log2 (wi::zext (wi::bit_not (wi::to_wide (captures[0])),
 TYPE_PRECISION(type)));
 int ibit2 = tree_log2 (captures[1]);
/* #line 4578 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      if (ibit == ibit2
 && ibit >= 0
 && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
							{
							  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4569, __FILE__, __LINE__);
							  {
							    res_ops[0] = captures[0];
							    res_ops[1] = captures[1];
							    res_ops[2] = captures[2];
							    return true;
							  }
next_after_fail103:;
							}
						  }
						}
					        break;
					      }
					    default:;
					    }
				          break;
				        }
				      default:;
				      }
				  {
				    tree _q21_pops[1];
				    if (gimple_nop_convert (_q21, _q21_pops, valueize))
				      {
					tree _q40 = _q21_pops[0];
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case BIT_NOT_EXPR:
						      {
							tree _q50 = gimple_assign_rhs1 (_a3);
							_q50 = do_valueize (valueize, _q50);
							switch (TREE_CODE (_q50))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q50))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LSHIFT_EXPR:
								      {
									tree _q60 = gimple_assign_rhs1 (_a4);
									_q60 = do_valueize (valueize, _q60);
									tree _q61 = gimple_assign_rhs2 (_a4);
									_q61 = do_valueize (valueize, _q61);
									if (integer_onep (_q60))
									  {
									    switch (TREE_CODE (_p1))
									      {
									      case SSA_NAME:
									        if (gimple *_d5 = get_def (valueize, _p1))
									          {
										    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										      switch (gimple_assign_rhs_code (_a5))
											{
											CASE_CONVERT:
											  {
											    tree _q90 = gimple_assign_rhs1 (_a5);
											    _q90 = do_valueize (valueize, _q90);
											    if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
											      {
												{
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail104:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									      {
										{
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail105:;
										    }
										}
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_1:
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
					      case CFN_BUILT_IN_ATOMIC_FETCH_AND_16:
					        if (gimple_call_num_args (_c3) == 3)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    tree _q41 = gimple_call_arg (_c3, 1);
						    _q41 = do_valueize (valueize, _q41);
						    tree _q42 = gimple_call_arg (_c3, 2);
						    _q42 = do_valueize (valueize, _q42);
						    switch (TREE_CODE (_q41))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q41))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								case BIT_NOT_EXPR:
								  {
								    tree _q60 = gimple_assign_rhs1 (_a4);
								    _q60 = do_valueize (valueize, _q60);
								    if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
								      {
									switch (TREE_CODE (_q60))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _q60))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    case LSHIFT_EXPR:
										      {
											tree _q80 = gimple_assign_rhs1 (_a5);
											_q80 = do_valueize (valueize, _q80);
											tree _q81 = gimple_assign_rhs2 (_a5);
											_q81 = do_valueize (valueize, _q81);
											if (integer_onep (_q80))
											  {
											    {
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81, _q42 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail106:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						  {
						    tree _q41_pops[1];
						    if (gimple_nop_convert (_q41, _q41_pops, valueize))
						      {
							tree _q60 = _q41_pops[0];
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case BIT_NOT_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
									  {
									    switch (TREE_CODE (_q70))
									      {
									      case SSA_NAME:
									        if (gimple *_d5 = get_def (valueize, _q70))
									          {
										    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										      switch (gimple_assign_rhs_code (_a5))
											{
											case LSHIFT_EXPR:
											  {
											    tree _q90 = gimple_assign_rhs1 (_a5);
											    _q90 = do_valueize (valueize, _q90);
											    tree _q91 = gimple_assign_rhs2 (_a5);
											    _q91 = do_valueize (valueize, _q91);
											    if (integer_onep (_q90))
											      {
												{
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91, _q42 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail107:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
			  else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_1:
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
			      case CFN_BUILT_IN_ATOMIC_FETCH_AND_16:
			        if (gimple_call_num_args (_c2) == 3)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    tree _q31 = gimple_call_arg (_c2, 1);
				    _q31 = do_valueize (valueize, _q31);
				    tree _q32 = gimple_call_arg (_c2, 2);
				    _q32 = do_valueize (valueize, _q32);
				    switch (TREE_CODE (_q31))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q31))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						case BIT_NOT_EXPR:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
						      {
							switch (TREE_CODE (_q50))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q50))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LSHIFT_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if (integer_onep (_q70))
									  {
									    {
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71, _q32 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail108:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  {
				    tree _q31_pops[1];
				    if (gimple_nop_convert (_q31, _q31_pops, valueize))
				      {
					tree _q50 = _q31_pops[0];
					switch (TREE_CODE (_q50))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q50))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case BIT_NOT_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
							  {
							    switch (TREE_CODE (_q60))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q60))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case LSHIFT_EXPR:
									  {
									    tree _q80 = gimple_assign_rhs1 (_a4);
									    _q80 = do_valueize (valueize, _q80);
									    tree _q81 = gimple_assign_rhs2 (_a4);
									    _q81 = do_valueize (valueize, _q81);
									    if (integer_onep (_q80))
									      {
										{
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81, _q32 };
/* #line 4587 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4582, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail109:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p0))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p0))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q20 = gimple_assign_rhs1 (_a2);
				  _q20 = do_valueize (valueize, _q20);
				  switch (TREE_CODE (_q20))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q20))
				        {
					  if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
					        if (gimple_call_num_args (_c3) == 2)
					          {
						    tree _q30 = gimple_call_arg (_c3, 0);
						    _q30 = do_valueize (valueize, _q30);
						    tree _q31 = gimple_call_arg (_c3, 1);
						    _q31 = do_valueize (valueize, _q31);
						    switch (TREE_CODE (_q31))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q31))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								case BIT_NOT_EXPR:
								  {
								    tree _q50 = gimple_assign_rhs1 (_a4);
								    _q50 = do_valueize (valueize, _q50);
								    switch (TREE_CODE (_q50))
								      {
								      case SSA_NAME:
								        if (gimple *_d5 = get_def (valueize, _q50))
								          {
									    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									      switch (gimple_assign_rhs_code (_a5))
										{
										case LSHIFT_EXPR:
										  {
										    tree _q60 = gimple_assign_rhs1 (_a5);
										    _q60 = do_valueize (valueize, _q60);
										    tree _q61 = gimple_assign_rhs2 (_a5);
										    _q61 = do_valueize (valueize, _q61);
										    if (integer_onep (_q60))
										      {
											switch (TREE_CODE (_p1))
											  {
											  case SSA_NAME:
											    if (gimple *_d6 = get_def (valueize, _p1))
											      {
												if (gassign *_a6 = dyn_cast <gassign *> (_d6))
												  switch (gimple_assign_rhs_code (_a6))
												    {
												    CASE_CONVERT:
												      {
													tree _q90 = gimple_assign_rhs1 (_a6);
													_q90 = do_valueize (valueize, _q90);
													if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
													  {
													    {
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail110:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
											if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
											  {
											    {
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail111:;
												}
											    }
											  }
										      }
										    break;
										  }
										default:;
										}
								          }
								        break;
								      default:;
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						  {
						    tree _q31_pops[1];
						    if (gimple_nop_convert (_q31, _q31_pops, valueize))
						      {
							tree _q50 = _q31_pops[0];
							switch (TREE_CODE (_q50))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q50))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case BIT_NOT_EXPR:
								      {
									tree _q60 = gimple_assign_rhs1 (_a4);
									_q60 = do_valueize (valueize, _q60);
									switch (TREE_CODE (_q60))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _q60))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    case LSHIFT_EXPR:
										      {
											tree _q70 = gimple_assign_rhs1 (_a5);
											_q70 = do_valueize (valueize, _q70);
											tree _q71 = gimple_assign_rhs2 (_a5);
											_q71 = do_valueize (valueize, _q71);
											if (integer_onep (_q70))
											  {
											    switch (TREE_CODE (_p1))
											      {
											      case SSA_NAME:
											        if (gimple *_d6 = get_def (valueize, _p1))
											          {
												    if (gassign *_a6 = dyn_cast <gassign *> (_d6))
												      switch (gimple_assign_rhs_code (_a6))
													{
													CASE_CONVERT:
													  {
													    tree _q100 = gimple_assign_rhs1 (_a6);
													    _q100 = do_valueize (valueize, _q100);
													    if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
													      {
														{
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail112:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
											      {
												{
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail113:;
												    }
												}
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gcall *_c4 = dyn_cast <gcall *> (_d4))
							    switch (gimple_call_combined_fn (_c4))
							      {
							      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
							      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
							        if (gimple_call_num_args (_c4) == 2)
							          {
								    tree _q50 = gimple_call_arg (_c4, 0);
								    _q50 = do_valueize (valueize, _q50);
								    tree _q51 = gimple_call_arg (_c4, 1);
								    _q51 = do_valueize (valueize, _q51);
								    switch (TREE_CODE (_q51))
								      {
								      case SSA_NAME:
								        if (gimple *_d5 = get_def (valueize, _q51))
								          {
									    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									      switch (gimple_assign_rhs_code (_a5))
										{
										case BIT_NOT_EXPR:
										  {
										    tree _q70 = gimple_assign_rhs1 (_a5);
										    _q70 = do_valueize (valueize, _q70);
										    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
										      {
											switch (TREE_CODE (_q70))
											  {
											  case SSA_NAME:
											    if (gimple *_d6 = get_def (valueize, _q70))
											      {
												if (gassign *_a6 = dyn_cast <gassign *> (_d6))
												  switch (gimple_assign_rhs_code (_a6))
												    {
												    case LSHIFT_EXPR:
												      {
													tree _q90 = gimple_assign_rhs1 (_a6);
													_q90 = do_valueize (valueize, _q90);
													tree _q91 = gimple_assign_rhs2 (_a6);
													_q91 = do_valueize (valueize, _q91);
													if (integer_onep (_q90))
													  {
													    {
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													      tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														{
														  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
														  {
														    res_ops[0] = captures[0];
														    res_ops[1] = captures[1];
														    res_ops[2] = captures[2];
														    return true;
														  }
next_after_fail114:;
														}
													    }
													  }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
										      }
										    break;
										  }
										default:;
										}
								          }
								        break;
								      default:;
								      }
								  {
								    tree _q51_pops[1];
								    if (gimple_nop_convert (_q51, _q51_pops, valueize))
								      {
									tree _q70 = _q51_pops[0];
									switch (TREE_CODE (_q70))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _q70))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    case BIT_NOT_EXPR:
										      {
											tree _q80 = gimple_assign_rhs1 (_a5);
											_q80 = do_valueize (valueize, _q80);
											if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
											  {
											    switch (TREE_CODE (_q80))
											      {
											      case SSA_NAME:
											        if (gimple *_d6 = get_def (valueize, _q80))
											          {
												    if (gassign *_a6 = dyn_cast <gassign *> (_d6))
												      switch (gimple_assign_rhs_code (_a6))
													{
													case LSHIFT_EXPR:
													  {
													    tree _q100 = gimple_assign_rhs1 (_a6);
													    _q100 = do_valueize (valueize, _q100);
													    tree _q101 = gimple_assign_rhs2 (_a6);
													    _q101 = do_valueize (valueize, _q101);
													    if (integer_onep (_q100))
													      {
														{
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														  tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
														    {
														      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
														      {
															res_ops[0] = captures[0];
															res_ops[1] = captures[1];
															res_ops[2] = captures[2];
															return true;
														      }
next_after_fail115:;
														    }
														}
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
}
								  }
							          }
							        break;
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
					  else if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
					        if (gimple_call_num_args (_c3) == 2)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    tree _q41 = gimple_call_arg (_c3, 1);
						    _q41 = do_valueize (valueize, _q41);
						    switch (TREE_CODE (_q41))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q41))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								case BIT_NOT_EXPR:
								  {
								    tree _q60 = gimple_assign_rhs1 (_a4);
								    _q60 = do_valueize (valueize, _q60);
								    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
								      {
									switch (TREE_CODE (_q60))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _q60))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    case LSHIFT_EXPR:
										      {
											tree _q80 = gimple_assign_rhs1 (_a5);
											_q80 = do_valueize (valueize, _q80);
											tree _q81 = gimple_assign_rhs2 (_a5);
											_q81 = do_valueize (valueize, _q81);
											if (integer_onep (_q80))
											  {
											    {
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail116:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						  {
						    tree _q41_pops[1];
						    if (gimple_nop_convert (_q41, _q41_pops, valueize))
						      {
							tree _q60 = _q41_pops[0];
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case BIT_NOT_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
									  {
									    switch (TREE_CODE (_q70))
									      {
									      case SSA_NAME:
									        if (gimple *_d5 = get_def (valueize, _q70))
									          {
										    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										      switch (gimple_assign_rhs_code (_a5))
											{
											case LSHIFT_EXPR:
											  {
											    tree _q90 = gimple_assign_rhs1 (_a5);
											    _q90 = do_valueize (valueize, _q90);
											    tree _q91 = gimple_assign_rhs2 (_a5);
											    _q91 = do_valueize (valueize, _q91);
											    if (integer_onep (_q90))
											      {
												{
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail117:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
					      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
					        if (gimple_call_num_args (_c3) == 2)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    tree _q41 = gimple_call_arg (_c3, 1);
						    _q41 = do_valueize (valueize, _q41);
						    switch (TREE_CODE (_q41))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q41))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								case BIT_NOT_EXPR:
								  {
								    tree _q60 = gimple_assign_rhs1 (_a4);
								    _q60 = do_valueize (valueize, _q60);
								    if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
								      {
									switch (TREE_CODE (_q60))
									  {
									  case SSA_NAME:
									    if (gimple *_d5 = get_def (valueize, _q60))
									      {
										if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										  switch (gimple_assign_rhs_code (_a5))
										    {
										    case LSHIFT_EXPR:
										      {
											tree _q80 = gimple_assign_rhs1 (_a5);
											_q80 = do_valueize (valueize, _q80);
											tree _q81 = gimple_assign_rhs2 (_a5);
											_q81 = do_valueize (valueize, _q81);
											if (integer_onep (_q80))
											  {
											    {
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												{
												  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
												  {
												    res_ops[0] = captures[0];
												    res_ops[1] = captures[1];
												    res_ops[2] = captures[2];
												    return true;
												  }
next_after_fail118:;
												}
											    }
											  }
										        break;
										      }
										    default:;
										    }
									      }
									    break;
								          default:;
								          }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						  {
						    tree _q41_pops[1];
						    if (gimple_nop_convert (_q41, _q41_pops, valueize))
						      {
							tree _q60 = _q41_pops[0];
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case BIT_NOT_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
									  {
									    switch (TREE_CODE (_q70))
									      {
									      case SSA_NAME:
									        if (gimple *_d5 = get_def (valueize, _q70))
									          {
										    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										      switch (gimple_assign_rhs_code (_a5))
											{
											case LSHIFT_EXPR:
											  {
											    tree _q90 = gimple_assign_rhs1 (_a5);
											    _q90 = do_valueize (valueize, _q90);
											    tree _q91 = gimple_assign_rhs2 (_a5);
											    _q91 = do_valueize (valueize, _q91);
											    if (integer_onep (_q90))
											      {
												{
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
												    {
												      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
												      {
													res_ops[0] = captures[0];
													res_ops[1] = captures[1];
													res_ops[2] = captures[2];
													return true;
												      }
next_after_fail119:;
												    }
												}
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
}
						  }
					          }
					        break;
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
			  else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
			      case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
			        if (gimple_call_num_args (_c2) == 2)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    tree _q31 = gimple_call_arg (_c2, 1);
				    _q31 = do_valueize (valueize, _q31);
				    switch (TREE_CODE (_q31))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q31))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						case BIT_NOT_EXPR:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
						      {
							switch (TREE_CODE (_q50))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q50))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LSHIFT_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if (integer_onep (_q70))
									  {
									    {
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										{
										  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
										  {
										    res_ops[0] = captures[0];
										    res_ops[1] = captures[1];
										    res_ops[2] = captures[2];
										    return true;
										  }
next_after_fail120:;
										}
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  {
				    tree _q31_pops[1];
				    if (gimple_nop_convert (_q31, _q31_pops, valueize))
				      {
					tree _q50 = _q31_pops[0];
					switch (TREE_CODE (_q50))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q50))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case BIT_NOT_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
							  {
							    switch (TREE_CODE (_q60))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q60))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case LSHIFT_EXPR:
									  {
									    tree _q80 = gimple_assign_rhs1 (_a4);
									    _q80 = do_valueize (valueize, _q80);
									    tree _q81 = gimple_assign_rhs2 (_a4);
									    _q81 = do_valueize (valueize, _q81);
									    if (integer_onep (_q80))
									      {
										{
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81 };
/* #line 4594 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
)
										    {
										      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 4589, __FILE__, __LINE__);
										      {
											res_ops[0] = captures[0];
											res_ops[1] = captures[1];
											res_ops[2] = captures[2];
											return true;
										      }
next_after_fail121:;
										    }
										}
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
}
				  }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

bool
gimple_double_value_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  {
/* #line 6951 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 6951 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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_fail122:;
      }
  }
  return false;
}

bool
gimple_float_value_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  {
/* #line 6972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 6972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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_fail123:;
      }
  }
  return false;
}

bool
gimple_float16_value_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  {
/* #line 6996 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 6996 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    if (TYPE_MAIN_VARIANT (TREE_TYPE (captures[0])) == float16_type_node
)
      {
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Matching expression %s:%d, %s:%d\n", "match.pd", 6995, __FILE__, __LINE__);
	{
	  return true;
	}
next_after_fail124:;
      }
  }
  return false;
}

bool
gimple_vec_same_elem_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_DUPLICATE_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  {
/* #line 8338 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8338, __FILE__, __LINE__);
		    {
		      return true;
		    }
next_after_fail125:;
		  }
	          break;
	        }
	      case CONSTRUCTOR:
	        {
		  {
/* #line 8342 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 8342 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8341, __FILE__, __LINE__);
			{
			  return true;
			}
next_after_fail126:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 8347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { t };
/* #line 8347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8346, __FILE__, __LINE__);
	{
	  return true;
	}
next_after_fail127:;
      }
  }
  return false;
}

bool
gimple_ctz_table_index (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case RSHIFT_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  switch (TREE_CODE (_p0))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p0))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q20 = gimple_assign_rhs1 (_a2);
				  _q20 = do_valueize (valueize, _q20);
				  tree _q21 = gimple_assign_rhs2 (_a2);
				  _q21 = do_valueize (valueize, _q21);
				  if (tree_swap_operands_p (_q20, _q21))
				    std::swap (_q20, _q21);
				  switch (TREE_CODE (_q20))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q20))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q30 = gimple_assign_rhs1 (_a3);
						  _q30 = do_valueize (valueize, _q30);
						  tree _q31 = gimple_assign_rhs2 (_a3);
						  _q31 = do_valueize (valueize, _q31);
						  if (tree_swap_operands_p (_q30, _q31))
						    std::swap (_q30, _q31);
						  switch (TREE_CODE (_q30))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q30))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case NEGATE_EXPR:
							        {
								  tree _q40 = gimple_assign_rhs1 (_a4);
								  _q40 = do_valueize (valueize, _q40);
								  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 8424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8424, __FILE__, __LINE__);
										    {
										      res_ops[0] = captures[0];
										      res_ops[1] = captures[1];
										      res_ops[2] = captures[2];
										      return true;
										    }
next_after_fail128:;
										  }
									          break;
									        }
									      default:;
									      }
									    break;
									  }
								        default:;
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q31))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q31))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case NEGATE_EXPR:
							        {
								  tree _q50 = gimple_assign_rhs1 (_a4);
								  _q50 = do_valueize (valueize, _q50);
								  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 8424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8424, __FILE__, __LINE__);
										    {
										      res_ops[0] = captures[0];
										      res_ops[1] = captures[1];
										      res_ops[2] = captures[2];
										      return true;
										    }
next_after_fail129:;
										  }
									          break;
									        }
									      default:;
									      }
									    break;
									  }
								        default:;
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

bool
gimple_cond_expr_convert_p (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  tree _p2 = gimple_assign_rhs3 (_a1);
		  _p2 = do_valueize (valueize, _p2);
		  switch (TREE_CODE (_p0))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p0))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LT_EXPR:
			      case LE_EXPR:
			      case EQ_EXPR:
			      case NE_EXPR:
			      case GE_EXPR:
			      case GT_EXPR:
			        {
				  tree _q20 = gimple_assign_rhs1 (_a2);
				  _q20 = do_valueize (valueize, _q20);
				  tree _q21 = gimple_assign_rhs2 (_a2);
				  _q21 = do_valueize (valueize, _q21);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p2))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      CASE_CONVERT:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  {
/* #line 8429 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 8429 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8427, __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_fail130:;
								      }
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case LT_EXPR:
		    case LE_EXPR:
		    case EQ_EXPR:
		    case NE_EXPR:
		    case GE_EXPR:
		    case GT_EXPR:
		      {
			tree _q20 = TREE_OPERAND (_p0, 0);
			if ((TREE_CODE (_q20) == SSA_NAME
			     || is_gimple_min_invariant (_q20)))
			  {
			    _q20 = do_valueize (valueize, _q20);
			    tree _q21 = TREE_OPERAND (_p0, 1);
			    if ((TREE_CODE (_q21) == SSA_NAME
			         || is_gimple_min_invariant (_q21)))
			      {
				_q21 = do_valueize (valueize, _q21);
				switch (TREE_CODE (_p1))
				  {
				  case SSA_NAME:
				    if (gimple *_d2 = get_def (valueize, _p1))
				      {
					if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					  switch (gimple_assign_rhs_code (_a2))
					    {
					    CASE_CONVERT:
					      {
						tree _q50 = gimple_assign_rhs1 (_a2);
						_q50 = do_valueize (valueize, _q50);
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d3 = get_def (valueize, _p2))
						      {
							if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							  switch (gimple_assign_rhs_code (_a3))
							    {
							    CASE_CONVERT:
							      {
								tree _q70 = gimple_assign_rhs1 (_a3);
								_q70 = do_valueize (valueize, _q70);
								{
/* #line 8429 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[7] ATTRIBUTE_UNUSED = { _q20, _q50, _q70, _p0, _q21, _p1, _p2 };
/* #line 8429 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8427, __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_fail131:;
								    }
								}
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

bool
gimple_bitwise_induction_p (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
{
  const tree type = TREE_TYPE (t);
  switch (TREE_CODE (t))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, t))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	      case BIT_IOR_EXPR:
	      case BIT_XOR_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  tree _p1 = gimple_assign_rhs2 (_a1);
		  _p1 = do_valueize (valueize, _p1);
		  if (tree_swap_operands_p (_p0, _p1))
		    std::swap (_p0, _p1);
		  {
		    tree _p0_pops[1];
		    if (gimple_nop_convert (_p0, _p0_pops, valueize))
		      {
			tree _q20 = _p0_pops[0];
			switch (TREE_CODE (_q20))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q20))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case BIT_NOT_EXPR:
				      {
					tree _q30 = gimple_assign_rhs1 (_a2);
					_q30 = do_valueize (valueize, _q30);
					switch (TREE_CODE (_q30))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q30))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q40 = gimple_assign_rhs1 (_a3);
							_q40 = do_valueize (valueize, _q40);
							switch (TREE_CODE (_q40))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q40))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LSHIFT_EXPR:
								      {
									tree _q50 = gimple_assign_rhs1 (_a4);
									_q50 = do_valueize (valueize, _q50);
									tree _q51 = gimple_assign_rhs2 (_a4);
									_q51 = do_valueize (valueize, _q51);
									if (integer_onep (_q50))
									  {
									    {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
									      {
										res_ops[0] = captures[0];
										res_ops[1] = captures[1];
										res_ops[2] = captures[2];
										return true;
									      }
next_after_fail132:;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case LSHIFT_EXPR:
						      {
							tree _q40 = gimple_assign_rhs1 (_a3);
							_q40 = do_valueize (valueize, _q40);
							tree _q41 = gimple_assign_rhs2 (_a3);
							_q41 = do_valueize (valueize, _q41);
							if (integer_onep (_q40))
							  {
							    {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
							      {
								res_ops[0] = captures[0];
								res_ops[1] = captures[1];
								res_ops[2] = captures[2];
								return true;
							      }
next_after_fail133:;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    CASE_CONVERT:
				      {
					tree _q30 = gimple_assign_rhs1 (_a2);
					_q30 = do_valueize (valueize, _q30);
					switch (TREE_CODE (_q30))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q30))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LSHIFT_EXPR:
						      {
							tree _q40 = gimple_assign_rhs1 (_a3);
							_q40 = do_valueize (valueize, _q40);
							tree _q41 = gimple_assign_rhs2 (_a3);
							_q41 = do_valueize (valueize, _q41);
							if (integer_onep (_q40))
							  {
							    {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
							      {
								res_ops[0] = captures[0];
								res_ops[1] = captures[1];
								res_ops[2] = captures[2];
								return true;
							      }
next_after_fail134:;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    case LSHIFT_EXPR:
				      {
					tree _q30 = gimple_assign_rhs1 (_a2);
					_q30 = do_valueize (valueize, _q30);
					tree _q31 = gimple_assign_rhs2 (_a2);
					_q31 = do_valueize (valueize, _q31);
					if (integer_onep (_q30))
					  {
					    {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
					      {
						res_ops[0] = captures[0];
						res_ops[1] = captures[1];
						res_ops[2] = captures[2];
						return true;
					      }
next_after_fail135:;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
}
		  }
		  {
		    tree _p1_pops[1];
		    if (gimple_nop_convert (_p1, _p1_pops, valueize))
		      {
			tree _q30 = _p1_pops[0];
			switch (TREE_CODE (_q30))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q30))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case BIT_NOT_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q50 = gimple_assign_rhs1 (_a3);
							_q50 = do_valueize (valueize, _q50);
							switch (TREE_CODE (_q50))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q50))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LSHIFT_EXPR:
								      {
									tree _q60 = gimple_assign_rhs1 (_a4);
									_q60 = do_valueize (valueize, _q60);
									tree _q61 = gimple_assign_rhs2 (_a4);
									_q61 = do_valueize (valueize, _q61);
									if (integer_onep (_q60))
									  {
									    {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
									      {
										res_ops[0] = captures[0];
										res_ops[1] = captures[1];
										res_ops[2] = captures[2];
										return true;
									      }
next_after_fail136:;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case LSHIFT_EXPR:
						      {
							tree _q50 = gimple_assign_rhs1 (_a3);
							_q50 = do_valueize (valueize, _q50);
							tree _q51 = gimple_assign_rhs2 (_a3);
							_q51 = do_valueize (valueize, _q51);
							if (integer_onep (_q50))
							  {
							    {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
							      {
								res_ops[0] = captures[0];
								res_ops[1] = captures[1];
								res_ops[2] = captures[2];
								return true;
							      }
next_after_fail137:;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LSHIFT_EXPR:
						      {
							tree _q50 = gimple_assign_rhs1 (_a3);
							_q50 = do_valueize (valueize, _q50);
							tree _q51 = gimple_assign_rhs2 (_a3);
							_q51 = do_valueize (valueize, _q51);
							if (integer_onep (_q50))
							  {
							    {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
							      {
								res_ops[0] = captures[0];
								res_ops[1] = captures[1];
								res_ops[2] = captures[2];
								return true;
							      }
next_after_fail138:;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    case LSHIFT_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_assign_rhs2 (_a2);
					_q41 = do_valueize (valueize, _q41);
					if (integer_onep (_q40))
					  {
					    {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
					      {
						res_ops[0] = captures[0];
						res_ops[1] = captures[1];
						res_ops[2] = captures[2];
						return true;
					      }
next_after_fail139:;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
}
		  }
		  switch (TREE_CODE (_p0))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p0))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q20 = gimple_assign_rhs1 (_a2);
				  _q20 = do_valueize (valueize, _q20);
				  switch (TREE_CODE (_q20))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q20))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q30 = gimple_assign_rhs1 (_a3);
						  _q30 = do_valueize (valueize, _q30);
						  switch (TREE_CODE (_q30))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q30))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LSHIFT_EXPR:
							        {
								  tree _q40 = gimple_assign_rhs1 (_a4);
								  _q40 = do_valueize (valueize, _q40);
								  tree _q41 = gimple_assign_rhs2 (_a4);
								  _q41 = do_valueize (valueize, _q41);
								  if (integer_onep (_q40))
								    {
								      {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[1];
									  res_ops[2] = captures[2];
									  return true;
									}
next_after_fail140:;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LSHIFT_EXPR:
					        {
						  tree _q30 = gimple_assign_rhs1 (_a3);
						  _q30 = do_valueize (valueize, _q30);
						  tree _q31 = gimple_assign_rhs2 (_a3);
						  _q31 = do_valueize (valueize, _q31);
						  if (integer_onep (_q30))
						    {
						      {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
							{
							  res_ops[0] = captures[0];
							  res_ops[1] = captures[1];
							  res_ops[2] = captures[2];
							  return true;
							}
next_after_fail141:;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LSHIFT_EXPR:
							        {
								  tree _q50 = gimple_assign_rhs1 (_a4);
								  _q50 = do_valueize (valueize, _q50);
								  tree _q51 = gimple_assign_rhs2 (_a4);
								  _q51 = do_valueize (valueize, _q51);
								  if (integer_onep (_q50))
								    {
								      {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[1];
									  res_ops[2] = captures[2];
									  return true;
									}
next_after_fail142:;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LSHIFT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (integer_onep (_q40))
						    {
						      {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
							{
							  res_ops[0] = captures[0];
							  res_ops[1] = captures[1];
							  res_ops[2] = captures[2];
							  return true;
							}
next_after_fail143:;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p0))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p0))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q20 = gimple_assign_rhs1 (_a2);
				  _q20 = do_valueize (valueize, _q20);
				  switch (TREE_CODE (_q20))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q20))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case LSHIFT_EXPR:
					        {
						  tree _q30 = gimple_assign_rhs1 (_a3);
						  _q30 = do_valueize (valueize, _q30);
						  tree _q31 = gimple_assign_rhs2 (_a3);
						  _q31 = do_valueize (valueize, _q31);
						  if (integer_onep (_q30))
						    {
						      {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
							{
							  res_ops[0] = captures[0];
							  res_ops[1] = captures[1];
							  res_ops[2] = captures[2];
							  return true;
							}
next_after_fail144:;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case LSHIFT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (integer_onep (_q40))
						    {
						      {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
							{
							  res_ops[0] = captures[0];
							  res_ops[1] = captures[1];
							  res_ops[2] = captures[2];
							  return true;
							}
next_after_fail145:;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p0))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p0))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q20 = gimple_assign_rhs1 (_a2);
				  _q20 = do_valueize (valueize, _q20);
				  tree _q21 = gimple_assign_rhs2 (_a2);
				  _q21 = do_valueize (valueize, _q21);
				  if (integer_onep (_q20))
				    {
				      {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
					{
					  res_ops[0] = captures[0];
					  res_ops[1] = captures[1];
					  res_ops[2] = captures[2];
					  return true;
					}
next_after_fail146:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_onep (_q30))
				    {
				      {
/* #line 8448 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8448, __FILE__, __LINE__);
					{
					  res_ops[0] = captures[0];
					  res_ops[1] = captures[1];
					  res_ops[2] = captures[2];
					  return true;
					}
next_after_fail147:;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _p0 = gimple_assign_rhs1 (_a1);
		  _p0 = do_valueize (valueize, _p0);
		  switch (TREE_CODE (_p0))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p0))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q20 = gimple_assign_rhs1 (_a2);
				  _q20 = do_valueize (valueize, _q20);
				  tree _q21 = gimple_assign_rhs2 (_a2);
				  _q21 = do_valueize (valueize, _q21);
				  if (tree_swap_operands_p (_q20, _q21))
				    std::swap (_q20, _q21);
				  switch (TREE_CODE (_q20))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q20))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q30 = gimple_assign_rhs1 (_a3);
						  _q30 = do_valueize (valueize, _q30);
						  switch (TREE_CODE (_q30))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q30))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LSHIFT_EXPR:
							        {
								  tree _q40 = gimple_assign_rhs1 (_a4);
								  _q40 = do_valueize (valueize, _q40);
								  tree _q41 = gimple_assign_rhs2 (_a4);
								  _q41 = do_valueize (valueize, _q41);
								  if (integer_onep (_q40))
								    {
								      {
/* #line 8453 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8453, __FILE__, __LINE__);
									{
									  res_ops[0] = captures[0];
									  res_ops[1] = captures[1];
									  res_ops[2] = captures[2];
									  return true;
									}
next_after_fail148:;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LSHIFT_EXPR:
					        {
						  tree _q30 = gimple_assign_rhs1 (_a3);
						  _q30 = do_valueize (valueize, _q30);
						  tree _q31 = gimple_assign_rhs2 (_a3);
						  _q31 = do_valueize (valueize, _q31);
						  if (integer_onep (_q30))
						    {
						      {
/* #line 8453 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8453, __FILE__, __LINE__);
							{
							  res_ops[0] = captures[0];
							  res_ops[1] = captures[1];
							  res_ops[2] = captures[2];
							  return true;
							}
next_after_fail149:;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _p0_pops[1];
		  if (gimple_nop_convert (_p0, _p0_pops, valueize))
		    {
		      tree _q20 = _p0_pops[0];
		      switch (TREE_CODE (_q20))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q20))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case BIT_XOR_EXPR:
				    {
				      tree _q30 = gimple_assign_rhs1 (_a2);
				      _q30 = do_valueize (valueize, _q30);
				      tree _q31 = gimple_assign_rhs2 (_a2);
				      _q31 = do_valueize (valueize, _q31);
				      if (tree_swap_operands_p (_q30, _q31))
				        std::swap (_q30, _q31);
				      switch (TREE_CODE (_q30))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q30))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q40 = gimple_assign_rhs1 (_a3);
						      _q40 = do_valueize (valueize, _q40);
						      switch (TREE_CODE (_q40))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q40))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LSHIFT_EXPR:
								    {
								      tree _q50 = gimple_assign_rhs1 (_a4);
								      _q50 = do_valueize (valueize, _q50);
								      tree _q51 = gimple_assign_rhs2 (_a4);
								      _q51 = do_valueize (valueize, _q51);
								      if (integer_onep (_q50))
									{
									  {
/* #line 8453 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8453, __FILE__, __LINE__);
									    {
									      res_ops[0] = captures[0];
									      res_ops[1] = captures[1];
									      res_ops[2] = captures[2];
									      return true;
									    }
next_after_fail150:;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  case LSHIFT_EXPR:
						    {
						      tree _q40 = gimple_assign_rhs1 (_a3);
						      _q40 = do_valueize (valueize, _q40);
						      tree _q41 = gimple_assign_rhs2 (_a3);
						      _q41 = do_valueize (valueize, _q41);
						      if (integer_onep (_q40))
							{
							  {
/* #line 8453 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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", 8453, __FILE__, __LINE__);
							    {
							      res_ops[0] = captures[0];
							      res_ops[1] = captures[1];
							      res_ops[2] = captures[2];
							      return true;
							    }
next_after_fail151:;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
}
		}
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_1 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (fns))
{
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7097, __FILE__, __LINE__);
      {
	res_op->set_op (FIX_TRUNC_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail152:;
    }
  return false;
}

static bool
gimple_simplify_2 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 5892 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (cmp == NE_EXPR
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5906, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (true, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail153:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 5907, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail154:;
	    }
	}
      else
	{
/* #line 5909 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 off += mem_ref_offset (base).force_shwi ();
/* #line 5913 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (known_ne (off, 0)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 5914, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (cmp == NE_EXPR, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail155:;
		    }
		  else
		    {
/* #line 5915 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (known_eq (off, 0)
)
			{
			  gimple_seq *lseq = seq;
			  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", 5916, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (cmp == EQ_EXPR, type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail156:;
			}
		    }
	      }
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_3 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5669 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (ovf
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5677, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  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);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail157:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 5680, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		res_op->ops[0] = captures[0];
		res_op->ops[1] =  wide_int_to_tree (TREE_TYPE (captures[0]), prod);
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail158:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_4 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!flag_errno_math
)
    {
      {
/* #line 6732 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree t_one = build_one_cst (type);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 6733, __FILE__, __LINE__);
	  {
	    res_op->set_op (RDIV_EXPR, type, 2);
	    res_op->ops[0] = captures[1];
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[2], _r3;
		  _o3[0] =  t_one;
		  _o3[1] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r3) goto next_after_fail159;
		  _o2[0] = _r3;
		}
		{
		  tree _o3[2], _r3;
		  _o3[0] =  t_one;
		  _o3[1] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r3) goto next_after_fail159;
		  _o2[1] = _r3;
		}
		gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail159;
		_o1[0] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), sqrts, TREE_TYPE (_o1[0]), _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail159;
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail159:;
      }
    }
  return false;
}

static bool
gimple_simplify_5 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 2926, __FILE__, __LINE__);
	  {
	    res_op->set_op (PLUS_EXPR, type, 2);
	    res_op->ops[0] = captures[2];
	    res_op->ops[1] = captures[1];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail160:;
	}
    }
  return false;
}

static bool
gimple_simplify_6 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 2278, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail161:;
    }
  return false;
}

static bool
gimple_simplify_7 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6370 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
)
    {
      gimple_seq *lseq = seq;
      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", 6372, __FILE__, __LINE__);
      {
	res_op->set_op (out, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail162;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail162:;
    }
  return false;
}

static bool
gimple_simplify_8 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (pows), const combined_fn ARG_UNUSED (copysigns))
{
  {
/* #line 938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 939 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (real_isinteger (&TREE_REAL_CST (captures[2]), &n) && (n & 1) == 0
)
	{
	  gimple_seq *lseq = seq;
	  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", 940, __FILE__, __LINE__);
	  {
	    res_op->set_op (pows, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[2];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail163:;
	}
  }
  return false;
}

static bool
gimple_simplify_9 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 7230, __FILE__, __LINE__);
	  {
	    res_op->set_op (op, type, 2);
	    res_op->ops[0] = captures[2];
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[4];
	      if (type != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail164;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail164:;
	}
      else
	{
	  {
/* #line 7231 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      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", 7232, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (utype != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail165;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[4];
		    if (utype != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail165;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail165;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail165:;
	  }
	}
    }
  else
    {
/* #line 7234 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 7245 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if ((newtype == dfloat32_type_node
 || newtype == dfloat64_type_node
 || newtype == dfloat128_type_node)
 && newtype == type
 && types_match (newtype, type)
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[0])))
			    lseq = NULL;
			  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", 7263, __FILE__, __LINE__);
			  {
			    res_op->set_op (op, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[2];
			      if (newtype != TREE_TYPE (_o1[0])
			          && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail166;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[4];
			      if (newtype != TREE_TYPE (_o1[0])
			          && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail166;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail166:;
			}
		      else
			{
			  {
/* #line 7264 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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)
)
				{
				  gimple_seq *lseq = seq;
				  if (lseq
				      && (!single_use (captures[0])))
				    lseq = NULL;
				  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", 7296, __FILE__, __LINE__);
				  {
				    res_op->set_op (NOP_EXPR, type, 1);
				    {
				      tree _o1[2], _r1;
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[2];
					if (newtype != TREE_TYPE (_o2[0])
					    && !useless_type_conversion_p (newtype, TREE_TYPE (_o2[0])))
					  {
					    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail167;
					  }
					else
					  _r2 = _o2[0];
					_o1[0] = _r2;
				      }
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[4];
					if (newtype != TREE_TYPE (_o2[0])
					    && !useless_type_conversion_p (newtype, TREE_TYPE (_o2[0])))
					  {
					    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail167;
					  }
					else
					  _r2 = _o2[0];
					_o1[1] = _r2;
				      }
				      gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail167;
				      res_op->ops[0] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail167:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_10 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1422, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail168:;
  return false;
}

static bool
gimple_simplify_11 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (mod))
{
/* #line 747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 748 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
	  gimple_seq *lseq = seq;
	  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", 749, __FILE__, __LINE__);
	  {
	    res_op->set_op (cmp, type, 2);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[0];
		if (utype != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail169;
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[1];
		if (utype != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail169;
		  }
		else
		  _r2 = _o2[0];
		_o1[1] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), mod, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail169;
	      res_op->ops[0] = _r1;
	    }
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[2];
	      if (utype != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (utype, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail169;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail169:;
      }
    }
  return false;
}

static bool
gimple_simplify_12 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 2648, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail170:;
  return false;
}

static bool
gimple_simplify_13 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[1])))
    lseq = NULL;
  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", 1410, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_AND_EXPR, type, 2);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[0];
      _o1[1] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail171;
      res_op->ops[0] = _r1;
    }
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail171;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail171:;
  return false;
}

static bool
gimple_simplify_14 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  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", 5287, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (cmp == NE_EXPR, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail172:;
  return false;
}

static bool
gimple_simplify_15 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7592, __FILE__, __LINE__);
      {
	res_op->set_op (CFN_FNMA, type, 3);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->ops[2] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail173:;
    }
  return false;
}

static bool
gimple_simplify_16 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 3675 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type))
)
    {
      gimple_seq *lseq = seq;
      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", 3677, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_AND_EXPR, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail174;
	  res_op->ops[0] = _r1;
	}
	{
	  tree _o1[2], _r1;
	  _o1[0] =  build_minus_one_cst (type);
	  _o1[1] = captures[1];
	  gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail174;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail174:;
    }
  return false;
}

static bool
gimple_simplify_17 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop))
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[1])))
    lseq = NULL;
  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", 1417, __FILE__, __LINE__);
  {
    res_op->set_op (bitop, type, 2);
    res_op->ops[0] = captures[0];
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail175;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail175:;
  return false;
}

static bool
gimple_simplify_18 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 334, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail176;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail176:;
    }
  return false;
}

static bool
gimple_simplify_19 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 3865 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if ((mask & zerobits) == mask
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[1])))
	        lseq = NULL;
	      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", 3925, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_int_cst (type, 0);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail177:;
	    }
	  else
	    {
	      {
/* #line 3926 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3927 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3928 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3939 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3942 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (shift_type != TREE_TYPE (captures[2])
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  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", 3943, __FILE__, __LINE__);
					  {
					    res_op->set_op (BIT_AND_EXPR, type, 2);
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[2];
						  if (shift_type != TREE_TYPE (_o3[0])
						      && !useless_type_conversion_p (shift_type, TREE_TYPE (_o3[0])))
						    {
						      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, shift_type, _o3[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r3) goto next_after_fail178;
						    }
						  else
						    _r3 = _o3[0];
						  _o2[0] = _r3;
						}
						_o2[1] = captures[4];
						gimple_match_op tem_op (res_op->cond.any_else (), shift, shift_type, _o2[0], _o2[1]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail178;
						_o1[0] = _r2;
					      }
					      if (type != TREE_TYPE (_o1[0])
					          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
						{
						  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
						  tem_op.resimplify (lseq, valueize);
						  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						  if (!_r1) goto next_after_fail178;
					        }
					      else
					        _r1 = _o1[0];
					      res_op->ops[0] = _r1;
					    }
					    res_op->ops[1] =  newmaskt;
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail178:;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  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", 3944, __FILE__, __LINE__);
					  {
					    res_op->set_op (BIT_AND_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    res_op->ops[1] =  newmaskt;
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail179:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_20 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  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", 1926, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (true, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail180:;
  return false;
}

static bool
gimple_simplify_21 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1427, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_NOT_EXPR, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail181:;
  return false;
}

static bool
gimple_simplify_22 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])
          || !single_use (captures[4])))
    lseq = NULL;
  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", 1432, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_NOT_EXPR, type, 1);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail182;
      res_op->ops[0] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail182:;
  return false;
}

static bool
gimple_simplify_23 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (HYPOT))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 6928, __FILE__, __LINE__);
      {
	res_op->set_op (MULT_EXPR, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail183;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail183:;
    }
  return false;
}

static bool
gimple_simplify_24 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  gimple_seq *lseq = seq;
	  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", 1635, __FILE__, __LINE__);
	  {
	    res_op->set_op (op, type, 2);
	    res_op->ops[0] = captures[0];
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[6];
	      if (type != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail184;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail184:;
	}
      else
	{
/* #line 1636 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      gimple_seq *lseq = seq;
	      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", 1637, __FILE__, __LINE__);
	      {
		res_op->set_op (op, type, 2);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[3];
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail185;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[4];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail185:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_25 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 321 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 322, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail186;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail186:;
    }
  return false;
}

static bool
gimple_simplify_26 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])
          || !single_use (captures[4])))
    lseq = NULL;
  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", 1442, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_NOT_EXPR, type, 1);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail187;
      res_op->ops[0] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail187:;
  return false;
}

static bool
gimple_simplify_27 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 3790 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_int_cst_sgn (captures[0]) > 0
)
    {
      {
/* #line 3791 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (c1 > c2
)
	    {
	      gimple_seq *lseq = seq;
	      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", 3794, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == NE_EXPR ? false : true, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail188:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 3795, __FILE__, __LINE__);
	      {
		res_op->set_op (icmp, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] =  build_int_cst (TREE_TYPE (captures[1]), c2 - c1);
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail189:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_28 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  gimple_seq *lseq = seq;
  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", 1450, __FILE__, __LINE__);
  {
    res_op->set_op (bitop, type, 2);
    res_op->ops[0] = captures[1];
    res_op->ops[1] = captures[2];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail190:;
  return false;
}

static bool
gimple_simplify_29 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3583 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
 TYPE_SIGN (TREE_TYPE (captures[0])))
)
    {
      gimple_seq *lseq = seq;
      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", 3585, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == NE_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail191:;
    }
  else
    {
/* #line 3586 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
 TYPE_SIGN (TREE_TYPE (captures[0])))
)
	{
	  gimple_seq *lseq = seq;
	  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", 3588, __FILE__, __LINE__);
	  {
	    res_op->set_op (cmp, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[2];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail192:;
	}
    }
  return false;
}

static bool
gimple_simplify_30 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1455, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_XOR_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail193:;
  return false;
}

static bool
gimple_simplify_31 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3360 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type)
 && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[3])) == 0
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[3])))
        lseq = NULL;
      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", 3362, __FILE__, __LINE__);
      {
	res_op->set_op (MULT_EXPR, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] =  wide_int_to_tree (type, wi::to_wide (captures[2]) + wi::to_wide (captures[4]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail194:;
    }
  return false;
}

static bool
gimple_simplify_32 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (rotate), const enum tree_code ARG_UNUSED (invrot), const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  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", 4003, __FILE__, __LINE__);
  {
    res_op->set_op (cmp, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] =  const_binop (invrot, TREE_TYPE (captures[0]), captures[2], captures[1]);
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail195:;
  return false;
}

static bool
gimple_simplify_33 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1460, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_AND_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail196:;
  return false;
}

static bool
gimple_simplify_34 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (div))
{
/* #line 429 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 432, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_one_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail197:;
    }
  return false;
}

static bool
gimple_simplify_35 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 5723, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail198:;
  return false;
}

static bool
gimple_simplify_36 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  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", 1468, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_IOR_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail199:;
  return false;
}

static bool
gimple_simplify_37 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2707 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  gimple_seq *lseq = seq;
	  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", 2723, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail200:;
	}
      else
	{
/* #line 2724 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (code1 == EQ_EXPR && !val
)
	    {
	      gimple_seq *lseq = seq;
	      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", 2724, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail201:;
	    }
	  else
	    {
/* #line 2725 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  gimple_seq *lseq = seq;
		  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", 2725, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[3];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail202:;
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_38 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1592 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 1593, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_XOR_EXPR, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail203;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail203;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail203:;
    }
  return false;
}

static bool
gimple_simplify_39 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 3424, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail204:;
  return false;
}

static bool
gimple_simplify_40 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 6078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  gimple_seq *lseq = seq;
	  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", 6083, __FILE__, __LINE__);
	  {
	    res_op->set_op (ncmp, type, 2);
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[1];
	      if (stype != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (stype, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, stype, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail205;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] =  build_zero_cst (stype);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail205:;
      }
    }
  return false;
}

static bool
gimple_simplify_41 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5925 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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
)
    {
      gimple_seq *lseq = seq;
      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", 5927, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == NE_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail206:;
    }
  return false;
}

static bool
gimple_simplify_42 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5180 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (single_use (captures[0])
)
    {
      gimple_seq *lseq = seq;
      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", 5181, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail207:;
    }
  return false;
}

static bool
gimple_simplify_43 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])))
    lseq = NULL;
  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", 1492, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_AND_EXPR, type, 2);
    res_op->ops[0] = captures[1];
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail208;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail208:;
  return false;
}

static bool
gimple_simplify_44 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
/* #line 2135 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
	{
	  gimple_seq *lseq = seq;
	  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", 2137, __FILE__, __LINE__);
	  {
	    res_op->set_op (COND_EXPR, type, 3);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[3];
	    res_op->ops[2] =  build_zero_cst (type);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail209:;
	}
    }
  return false;
}

static bool
gimple_simplify_45 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 5196 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 5199, __FILE__, __LINE__);
      {
	res_op->set_op (GE_EXPR, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[3];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail210;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail210:;
    }
  return false;
}

static bool
gimple_simplify_46 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5038 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
    {
/* #line 5040 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
	{
	  {
/* #line 5042 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
	      gimple_seq *lseq = seq;
	      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", 5045, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[1], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[0];
		    gimple_match_op tem_op (res_op->cond.any_else (), ABSU_EXPR, utype, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail211;
		    _o1[0] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail211;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail211:;
	  }
	}
      else
	{
	  gimple_seq *lseq = seq;
	  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", 5046, __FILE__, __LINE__);
	  {
	    res_op->set_op (NEGATE_EXPR, type, 1);
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[0];
	      gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail212;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail212:;
	}
    }
  return false;
}

static bool
gimple_simplify_47 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 6435 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 6440, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      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];
		gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_DIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		tem_op.resimplify (NULL, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, NULL);
		if (!_r2) goto next_after_fail213;
		_o1[1] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), GT_EXPR, boolean_type_node, _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail213;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail213:;
	}
      else
	{
/* #line 6441 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (TYPE_MIN_VALUE (TREE_TYPE (captures[1]))
)
	    {
/* #line 6442 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (integer_minus_onep (captures[2])
)
		{
		  gimple_seq *lseq = seq;
		  if (lseq
		      && (!single_use (captures[0])))
		    lseq = NULL;
		  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", 6443, __FILE__, __LINE__);
		  {
		    res_op->set_op (NOP_EXPR, type, 1);
		    {
		      tree _o1[2], _r1;
		      _o1[0] = captures[1];
		      _o1[1] =  TYPE_MIN_VALUE (TREE_TYPE (captures[1]));
		      gimple_match_op tem_op (res_op->cond.any_else (), EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail214;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail214:;
		}
	      else
		{
		  {
/* #line 6444 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (etype
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[0])))
			    lseq = NULL;
			  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", 6462, __FILE__, __LINE__);
			  {
			    res_op->set_op (NOP_EXPR, type, 1);
			    {
			      tree _o1[2], _r1;
			      {
				tree _o2[2], _r2;
				{
				  tree _o3[1], _r3;
				  _o3[0] = captures[1];
				  if (etype != TREE_TYPE (_o3[0])
				      && !useless_type_conversion_p (etype, TREE_TYPE (_o3[0])))
				    {
				      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, etype, _o3[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r3) goto next_after_fail215;
				    }
				  else
				    _r3 = _o3[0];
				  _o2[0] = _r3;
				}
				_o2[1] =  lo;
				gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail215;
				_o1[0] = _r2;
			      }
			      _o1[1] =  hi;
			      gimple_match_op tem_op (res_op->cond.any_else (), GT_EXPR, boolean_type_node, _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail215;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail215:;
			}
		  }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_48 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 722 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (type)
)
    {
      gimple_seq *lseq = seq;
      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", 723, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_zero_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail216:;
    }
  return false;
}

static bool
gimple_simplify_49 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1512, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_AND_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail217:;
  return false;
}

static bool
gimple_simplify_50 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 780 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type)
)
    {
      gimple_seq *lseq = seq;
      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", 781, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[1];
	  gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail218;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail218:;
    }
  return false;
}

static bool
gimple_simplify_51 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2639 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      gimple_seq *lseq = seq;
      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", 2640, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (false, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail219:;
    }
  else
    {
/* #line 2641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  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", 2642, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail220:;
	}
    }
  return false;
}

static bool
gimple_simplify_52 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])))
    lseq = NULL;
  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", 1517, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_NOT_EXPR, type, 1);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail221;
      res_op->ops[0] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail221:;
  return false;
}

static bool
gimple_simplify_53 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 314, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail222;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail222:;
    }
  return false;
}

static bool
gimple_simplify_54 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_WRAPS (type)
 && !TYPE_SATURATING (type)
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[3])))
        lseq = NULL;
      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", 1022, __FILE__, __LINE__);
      {
	res_op->set_op (LSHIFT_EXPR, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[4];
	  gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail223;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail223:;
    }
  return false;
}

static bool
gimple_simplify_55 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1522, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_XOR_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail224:;
  return false;
}

static bool
gimple_simplify_56 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 5014, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[1];
	res_op->set_value (tem);
	return true;
      }
next_after_fail225:;
    }
  return false;
}

static bool
gimple_simplify_57 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 1722, __FILE__, __LINE__);
      {
	res_op->set_op (MULT_EXPR, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail226;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	{
	  tree _o1[1], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[1];
	    gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail226;
	    _o1[0] = _r2;
	  }
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail226;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail226:;
    }
  return false;
}

static bool
gimple_simplify_58 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (POW))
{
  gimple_seq *lseq = seq;
  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", 6768, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail227:;
  return false;
}

static bool
gimple_simplify_59 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 382 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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)
)
	{
	  gimple_seq *lseq = seq;
	  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", 399, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[1];
	      _o1[1] = captures[3];
	      gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail228;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail228:;
	}
      else
	{
	  gimple_seq *lseq = seq;
	  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", 400, __FILE__, __LINE__);
	  {
	    res_op->set_op (RSHIFT_EXPR, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[3];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail229:;
	}
    }
  return false;
}

static bool
gimple_simplify_60 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6850 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (! HONOR_NANS (captures[1])
 && ! HONOR_INFINITIES (captures[1])
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[2])))
	    lseq = NULL;
	  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", 6852, __FILE__, __LINE__);
	  {
	    res_op->set_op (RDIV_EXPR, type, 2);
	    res_op->ops[0] =  build_one_cst (type);
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[1];
	      gimple_match_op tem_op (res_op->cond.any_else (), COS, TREE_TYPE (_o1[0]), _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail230;
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail230:;
	}
    }
  return false;
}

static bool
gimple_simplify_61 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 713 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!integer_zerop (captures[1])
)
    {
      gimple_seq *lseq = seq;
      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", 714, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail231:;
    }
  return false;
}

static bool
gimple_simplify_62 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1529 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 1533, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_NOT_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  {
	    tree _o2[2], _r2;
	    _o2[0] = captures[1];
	    _o2[1] = captures[2];
	    gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail232;
	    _o1[0] = _r2;
	  }
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail232;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail232:;
    }
  return false;
}

static bool
gimple_simplify_63 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (fns))
{
  gimple_seq *lseq = seq;
  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", 6753, __FILE__, __LINE__);
  {
    res_op->set_op (fns, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail233:;
  return false;
}

static bool
gimple_simplify_64 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      {
/* #line 5388 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5394, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		res_op->ops[0] = captures[0];
		res_op->ops[1] =  tem;
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail234:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_65 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_associative_math
)
    {
      {
/* #line 5403 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree tem = const_binop (MINUS_EXPR, TREE_TYPE (captures[1]), captures[0], captures[2]);
/* #line 5404 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5405, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		res_op->ops[0] =  tem;
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail235:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_66 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1784 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 1790, __FILE__, __LINE__);
	      {
		res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[0];
		    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, ntype, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail236;
		    _o1[0] = _r2;
		  }
		  _o1[1] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail236;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail236:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 1791, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[0];
		    if (ntype != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (ntype, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, ntype, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail237;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  _o1[1] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail237;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail237:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_67 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (floors))
{
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7088, __FILE__, __LINE__);
      {
	res_op->set_op (FIX_TRUNC_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail238:;
    }
  return false;
}

static bool
gimple_simplify_68 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (inner_op), const enum tree_code ARG_UNUSED (outer_op))
{
  {
/* #line 2469 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!fail && (C0 & zero_mask_not) == 0
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 2493, __FILE__, __LINE__);
	  {
	    res_op->set_op (outer_op, type, 2);
	    res_op->ops[0] = captures[1];
	    res_op->ops[1] =  wide_int_to_tree (type, cst_emit);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail239:;
	}
      else
	{
/* #line 2494 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!fail && (wi::to_wide (captures[3]) & zero_mask_not) == 0
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      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", 2495, __FILE__, __LINE__);
	      {
		res_op->set_op (inner_op, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] =  wide_int_to_tree (type, cst_emit);
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail240:;
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_69 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (mod))
{
  gimple_seq *lseq = seq;
  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", 733, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail241:;
  return false;
}

static bool
gimple_simplify_70 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 3632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
)
    {
      gimple_seq *lseq = seq;
      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", 3633, __FILE__, __LINE__);
      {
	res_op->set_op (MAX_EXPR, type, 2);
	res_op->ops[0] = captures[2];
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail242:;
    }
  return false;
}

static bool
gimple_simplify_71 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 2698, __FILE__, __LINE__);
      {
	res_op->set_op (GT_EXPR, type, 2);
	res_op->ops[0] = captures[3];
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
	  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail243;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail243:;
    }
  return false;
}

static bool
gimple_simplify_72 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (POW))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6817 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!TREE_OVERFLOW (captures[2])
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[1])))
	    lseq = NULL;
	  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", 6818, __FILE__, __LINE__);
	  {
	    res_op->set_op (POW, type, 2);
	    res_op->ops[0] = captures[0];
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[2];
	      _o1[1] =  build_one_cst (type);
	      gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail244;
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail244:;
	}
    }
  return false;
}

static bool
gimple_simplify_73 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3195 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  gimple_seq *lseq = seq;
		  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", 3200, __FILE__, __LINE__);
		  {
		    res_op->set_op (NOP_EXPR, type, 1);
		    {
		      tree _o1[2], _r1;
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[1];
			if (utype != TREE_TYPE (_o2[0])
			    && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
			  {
			    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail245;
			  }
			else
			  _r2 = _o2[0];
			_o1[0] = _r2;
		      }
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[2];
			if (utype != TREE_TYPE (_o2[0])
			    && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
			  {
			    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail245;
			  }
			else
			  _r2 = _o2[0];
			_o1[1] = _r2;
		      }
		      gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail245;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail245:;
	      }
	    }
	  else
	    {
/* #line 3201 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))))
)
		{
		  gimple_seq *lseq = seq;
		  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", 3215, __FILE__, __LINE__);
		  {
		    res_op->set_op (MINUS_EXPR, type, 2);
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[1];
		      if (type != TREE_TYPE (_o1[0])
		          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail246;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[0] = _r1;
		    }
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[2];
		      if (type != TREE_TYPE (_o1[0])
		          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail246;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail246:;
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_74 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
 && (
 (INTEGRAL_TYPE_P (type)
 && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
 && TYPE_PRECISION (TREE_TYPE (captures[1])) <= TYPE_PRECISION (type)
 && TYPE_PRECISION (TREE_TYPE (captures[3])) <= TYPE_PRECISION (type))
 || (types_match (type, TREE_TYPE (captures[1]))
 && types_match (type, TREE_TYPE (captures[3]))))
)
    {
/* #line 4906 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (cmp == EQ_EXPR
)
	{
/* #line 4907 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 4908, __FILE__, __LINE__);
	      {
		res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		res_op->ops[0] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail247:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 4909, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		res_op->ops[0] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail248:;
	    }
	}
      else
	{
/* #line 4910 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (cmp == NE_EXPR
)
	    {
/* #line 4911 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (VECTOR_TYPE_P (type)
)
		{
		  gimple_seq *lseq = seq;
		  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", 4912, __FILE__, __LINE__);
		  {
		    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		    res_op->ops[0] = captures[0];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail249:;
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  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", 4913, __FILE__, __LINE__);
		  {
		    res_op->set_op (NOP_EXPR, type, 1);
		    res_op->ops[0] = captures[0];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail250:;
		}
	    }
	  else
	    {
/* #line 4914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == LE_EXPR || cmp == UNLE_EXPR || cmp == LT_EXPR || cmp == UNLT_EXPR
)
		{
/* #line 4915 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (!HONOR_NANS (type)
)
		    {
/* #line 4916 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (VECTOR_TYPE_P (type)
)
			{
			  gimple_seq *lseq = seq;
			  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", 4917, __FILE__, __LINE__);
			  {
			    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[2];
			      gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail251;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail251:;
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  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", 4918, __FILE__, __LINE__);
			  {
			    res_op->set_op (NOP_EXPR, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[2];
			      gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail252;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail252:;
			}
		    }
		}
	      else
		{
/* #line 4919 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == GE_EXPR || cmp == UNGE_EXPR || cmp == GT_EXPR || cmp == UNGT_EXPR
)
		    {
/* #line 4920 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (!HONOR_NANS (type)
)
			{
/* #line 4921 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (VECTOR_TYPE_P (type)
)
			    {
			      gimple_seq *lseq = seq;
			      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", 4922, __FILE__, __LINE__);
			      {
				res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[0];
				  _o1[1] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail253;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail253:;
			    }
			  else
			    {
			      gimple_seq *lseq = seq;
			      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", 4923, __FILE__, __LINE__);
			      {
				res_op->set_op (NOP_EXPR, type, 1);
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[0];
				  _o1[1] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail254;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail254:;
			    }
			}
		    }
		  else
		    {
/* #line 4924 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == UNEQ_EXPR
)
			{
/* #line 4925 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (!HONOR_NANS (type)
)
			    {
/* #line 4926 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (VECTOR_TYPE_P (type)
)
				{
				  gimple_seq *lseq = seq;
				  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", 4927, __FILE__, __LINE__);
				  {
				    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				    res_op->ops[0] = captures[2];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail255:;
				}
			      else
				{
				  gimple_seq *lseq = seq;
				  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", 4928, __FILE__, __LINE__);
				  {
				    res_op->set_op (NOP_EXPR, type, 1);
				    res_op->ops[0] = captures[2];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail256:;
				}
			    }
			}
		      else
			{
/* #line 4929 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == LTGT_EXPR
)
			    {
/* #line 4930 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (!HONOR_NANS (type)
)
				{
/* #line 4931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (VECTOR_TYPE_P (type)
)
				    {
				      gimple_seq *lseq = seq;
				      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", 4932, __FILE__, __LINE__);
				      {
					res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
					res_op->ops[0] = captures[0];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail257:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      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", 4933, __FILE__, __LINE__);
				      {
					res_op->set_op (NOP_EXPR, type, 1);
					res_op->ops[0] = captures[0];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail258:;
				    }
				}
			    }
			}
		    }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_75 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 255 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_OVERFLOW_WRAPS (TREE_TYPE(captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 257, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] =  build_zero_cst (TREE_TYPE(captures[0]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail259:;
    }
  return false;
}

static bool
gimple_simplify_76 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6388 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
)
    {
      {
/* #line 6389 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 6390, __FILE__, __LINE__);
	  {
	    res_op->set_op (out, type, 2);
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		_o2[0] = captures[2];
		_o2[1] = captures[1];
		gimple_match_op tem_op (res_op->cond.any_else (), CFN_MUL_OVERFLOW, cpx, _o2[0], _o2[1]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail260;
		_o1[0] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail260;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] =  build_zero_cst (t);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail260:;
      }
    }
  return false;
}

static bool
gimple_simplify_77 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 8142 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!VECTOR_INTEGER_TYPE_P (type)
 && !FLOAT_WORDS_BIG_ENDIAN
)
    {
      {
/* #line 8144 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 vec_perm_builder builder;
/* #line 8149 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (tree_to_vec_perm_builder (&builder, captures[2])
)
	    {
	      {
/* #line 8150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 8161 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 8168 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 8179 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (TYPE_MODE (stype) != BLKmode
 && VECTOR_TYPE_P (ntype)
 && fmt_old != NULL
 && fmt_new != NULL
)
			    {
			      {
/* #line 8183 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 8191 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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))
)
				    {
				      gimple_seq *lseq = seq;
				      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", 8197, __FILE__, __LINE__);
				      {
					res_op->set_op (PLUS_EXPR, type, 2);
					{
					  tree _o1[1], _r1;
					  {
					    tree _o2[1], _r2;
					    {
					      tree _o3[1], _r3;
					      _o3[0] = captures[1];
					      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, ntype, _o3[0]);
					      tem_op.resimplify (lseq, valueize);
					      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r3) goto next_after_fail261;
					      _o2[0] = _r3;
					    }
					    gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail261;
					    _o1[0] = _r2;
					  }
					  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail261;
					  res_op->ops[0] = _r1;
					}
					res_op->ops[1] = captures[0];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail261:;
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_78 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      gimple_seq *lseq = seq;
      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", 1643, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_XOR_EXPR, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail262;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail262;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail262:;
    }
  return false;
}

static bool
gimple_simplify_79 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  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", 1622, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail263:;
  return false;
}

static bool
gimple_simplify_80 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1195, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail264:;
  return false;
}

static bool
gimple_simplify_81 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (bswap))
{
  {
/* #line 4365 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree ctype = TREE_TYPE (captures[0]);
      gimple_seq *lseq = seq;
      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", 4366, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  if (ctype != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (ctype, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, ctype, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail265;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  if (ctype != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (ctype, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, ctype, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail265;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail265:;
  }
  return false;
}

static bool
gimple_simplify_82 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (acmp))
{
  {
/* #line 5093 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree cst = uniform_integer_cst_p (captures[1]);
/* #line 5094 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (tree_int_cst_sgn (cst) == -1
)
	{
	  gimple_seq *lseq = seq;
	  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", 5095, __FILE__, __LINE__);
	  {
	    res_op->set_op (acmp, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] =  build_uniform_cst (TREE_TYPE (captures[1]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 + 1));
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail266:;
	}
  }
  return false;
}

static bool
gimple_simplify_83 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 5066 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))))
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[1])))
        lseq = NULL;
      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", 5071, __FILE__, __LINE__);
      {
	res_op->set_op (MINUS_EXPR, type, 2);
	res_op->ops[0] = captures[0];
	{
	  tree _o1[1], _r1;
	  {
	    tree _o2[3], _r2;
	    _o2[0] = captures[2];
	    {
	      tree _o3[1], _r3;
	      _o3[0] = captures[3];
	      gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r3) goto next_after_fail267;
	      _o2[1] = _r3;
	    }
	    _o2[2] = captures[4];
	    gimple_match_op tem_op (res_op->cond.any_else (), VEC_COND_EXPR, TREE_TYPE (_o2[1]), _o2[0], _o2[1], _o2[2]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail267;
	    _o1[0] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail267;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail267:;
    }
  return false;
}

static bool
gimple_simplify_84 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 765 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))))
)
    {
      gimple_seq *lseq = seq;
      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", 775, __FILE__, __LINE__);
      {
	res_op->set_op (TRUNC_MOD_EXPR, type, 2);
	res_op->ops[0] = captures[0];
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail268;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail268:;
    }
  return false;
}

static bool
gimple_simplify_85 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
/* #line 7111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (TYPE_PRECISION (integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	{
	  gimple_seq *lseq = seq;
	  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", 7115, __FILE__, __LINE__);
	  {
	    res_op->set_op (lfn, type, 1);
	    res_op->ops[0] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail269:;
	}
    }
  return false;
}

static bool
gimple_simplify_86 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
/* #line 2141 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
	{
	  gimple_seq *lseq = seq;
	  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", 2143, __FILE__, __LINE__);
	  {
	    res_op->set_op (COND_EXPR, type, 3);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[3];
	    res_op->ops[2] =  build_zero_cst (type);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail270:;
	}
    }
  return false;
}

static bool
gimple_simplify_87 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 1004 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if ((
1
 || !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))
)
    {
      gimple_seq *lseq = seq;
      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", 1012, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_zero_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail271:;
    }
  return false;
}

static bool
gimple_simplify_88 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[5]);
/* #line 8011 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (inverse_conditions_p (captures[0], captures[2])
 && element_precision (type) == element_precision (op_type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 8013, __FILE__, __LINE__);
	  {
	    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
	    {
	      tree _o1[4], _r1;
	      _o1[0] = captures[2];
	      _o1[1] = captures[3];
	      _o1[2] = captures[4];
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[1];
		gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail272;
		_o1[3] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), cond_op, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail272;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail272:;
	}
  }
  return false;
}

static bool
gimple_simplify_89 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 321 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 322, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail273;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail273:;
    }
  return false;
}

static bool
gimple_simplify_90 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 2673, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail274:;
  return false;
}

static bool
gimple_simplify_91 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (SIGNBIT))
{
/* #line 7355 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (captures[0])
)
    {
      gimple_seq *lseq = seq;
      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", 7356, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
	  gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail275;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail275:;
    }
  return false;
}

static bool
gimple_simplify_92 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])))
    lseq = NULL;
  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", 1437, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_IOR_EXPR, type, 2);
    res_op->ops[0] = captures[1];
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail276;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail276:;
  return false;
}

static bool
gimple_simplify_93 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6261 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
 && (cmp != LTGT_EXPR || ! flag_trapping_math)
)
    {
      gimple_seq *lseq = seq;
      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", 6263, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == ORDERED_EXPR || cmp == LTGT_EXPR
 ? false : true, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail277:;
    }
  return false;
}

static bool
gimple_simplify_94 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2681 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      gimple_seq *lseq = seq;
      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", 2682, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail278:;
    }
  else
    {
/* #line 2683 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  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", 2684, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem =  constant_boolean_node (true, type);
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail279:;
	}
    }
  return false;
}

static bool
gimple_simplify_95 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 5723, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail280:;
  return false;
}

static bool
gimple_simplify_96 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 3865 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if ((mask & zerobits) == mask
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[1])))
	        lseq = NULL;
	      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", 3925, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_int_cst (type, 0);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail281:;
	    }
	  else
	    {
	      {
/* #line 3926 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3927 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3928 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3939 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3942 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (shift_type != TREE_TYPE (captures[2])
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  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", 3943, __FILE__, __LINE__);
					  {
					    res_op->set_op (BIT_AND_EXPR, type, 2);
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[2];
						  if (shift_type != TREE_TYPE (_o3[0])
						      && !useless_type_conversion_p (shift_type, TREE_TYPE (_o3[0])))
						    {
						      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, shift_type, _o3[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r3) goto next_after_fail282;
						    }
						  else
						    _r3 = _o3[0];
						  _o2[0] = _r3;
						}
						_o2[1] = captures[4];
						gimple_match_op tem_op (res_op->cond.any_else (), shift, shift_type, _o2[0], _o2[1]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail282;
						_o1[0] = _r2;
					      }
					      if (type != TREE_TYPE (_o1[0])
					          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
						{
						  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
						  tem_op.resimplify (lseq, valueize);
						  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						  if (!_r1) goto next_after_fail282;
					        }
					      else
					        _r1 = _o1[0];
					      res_op->ops[0] = _r1;
					    }
					    res_op->ops[1] =  newmaskt;
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail282:;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  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", 3944, __FILE__, __LINE__);
					  {
					    res_op->set_op (BIT_AND_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    res_op->ops[1] =  newmaskt;
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail283:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_97 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (types_match (type, TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 5147, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail284:;
    }
  return false;
}

static bool
gimple_simplify_98 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2689 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 2691, __FILE__, __LINE__);
      {
	res_op->set_op (LE_EXPR, type, 2);
	res_op->ops[0] = captures[3];
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
	  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail285;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail285:;
    }
  return false;
}

static bool
gimple_simplify_99 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2126 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[1])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 2128, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[3];
	    gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail286;
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail286;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail286:;
    }
  return false;
}

static bool
gimple_simplify_100 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 1992 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (integer_zerop (captures[5])
 && invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
)
    {
/* #line 1995 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (integer_onep (captures[4])
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[7])))
	    lseq = NULL;
	  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", 1996, __FILE__, __LINE__);
	  {
	    res_op->set_op (BIT_AND_EXPR, type, 2);
	    {
	      tree _o1[3], _r1;
	      _o1[0] = captures[1];
	      _o1[1] = captures[6];
	      _o1[2] = captures[9];
	      gimple_match_op tem_op (res_op->cond.any_else (), VEC_COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail287;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] = captures[4];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail287:;
	}
      else
	{
/* #line 1997 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (integer_minus_onep (captures[4])
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[7])))
	        lseq = NULL;
	      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", 1998, __FILE__, __LINE__);
	      {
		res_op->set_op (VEC_COND_EXPR, type, 3);
		res_op->ops[0] = captures[1];
		res_op->ops[1] = captures[6];
		res_op->ops[2] = captures[9];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail288:;
	    }
	}
    }
  else
    {
/* #line 1999 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (integer_zerop (captures[4])
 && invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
)
	{
/* #line 2002 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (integer_onep (captures[5])
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[7])))
	        lseq = NULL;
	      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", 2003, __FILE__, __LINE__);
	      {
		res_op->set_op (BIT_AND_EXPR, type, 2);
		{
		  tree _o1[3], _r1;
		  _o1[0] = captures[1];
		  _o1[1] = captures[9];
		  _o1[2] = captures[6];
		  gimple_match_op tem_op (res_op->cond.any_else (), VEC_COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail289;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[5];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail289:;
	    }
	  else
	    {
/* #line 2004 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (integer_minus_onep (captures[5])
)
		{
		  gimple_seq *lseq = seq;
		  if (lseq
		      && (!single_use (captures[0])
		          || !single_use (captures[7])))
		    lseq = NULL;
		  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", 2005, __FILE__, __LINE__);
		  {
		    res_op->set_op (VEC_COND_EXPR, type, 3);
		    res_op->ops[0] = captures[1];
		    res_op->ops[1] = captures[9];
		    res_op->ops[2] = captures[6];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail290:;
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_101 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (div))
{
/* #line 415 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_UNSIGNED (type)
)
    {
      gimple_seq *lseq = seq;
      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", 416, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail291:;
    }
  return false;
}

static bool
gimple_simplify_102 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 4955 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (type)
)
    {
      gimple_seq *lseq = seq;
      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", 4956, __FILE__, __LINE__);
      {
	res_op->set_op (COND_EXPR, type, 3);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[1];
	  gimple_match_op tem_op (res_op->cond.any_else (), GE_EXPR, boolean_type_node, _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail292;
	  res_op->ops[0] = _r1;
	}
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail292;
	  res_op->ops[1] = _r1;
	}
	res_op->ops[2] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail292:;
    }
  return false;
}

static bool
gimple_simplify_103 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 8364 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TREE_CODE (captures[1]) == SSA_NAME && num_imm_uses (captures[1]) == 2
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])))
        lseq = NULL;
      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", 8365, __FILE__, __LINE__);
      {
	res_op->set_op (PLUS_EXPR, type, 2);
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[3], _r2;
	    _o2[0] = captures[2];
	    _o2[1] = captures[2];
	    _o2[2] = captures[4];
	    gimple_match_op tem_op (res_op->cond.any_else (), VEC_PERM_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1], _o2[2]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail293;
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[3];
	  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail293;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[5];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail293:;
    }
  return false;
}

static bool
gimple_simplify_104 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 5210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (integer_zerop (captures[2])
)
    {
      gimple_seq *lseq = seq;
      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", 5211, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[2];
	res_op->ops[1] = captures[3];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail294:;
    }
  else
    {
/* #line 5212 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (tree_int_cst_sgn (captures[2]) < 0
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5217, __FILE__, __LINE__);
	      {
		res_op->set_op (scmp, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] = captures[3];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail295:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 5218, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] = captures[3];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail296:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_105 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (FMIN_ALL))
{
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_finite_math_only
)
    {
      gimple_seq *lseq = seq;
      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", 3536, __FILE__, __LINE__);
      {
	res_op->set_op (MIN_EXPR, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail297:;
    }
  return false;
}

static bool
gimple_simplify_106 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1164, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail298:;
  return false;
}

static bool
gimple_simplify_107 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3096 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!TYPE_OVERFLOW_TRAPS (type)
 && TREE_CODE (type) != COMPLEX_TYPE
 && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      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", 3099, __FILE__, __LINE__);
	      {
		res_op->set_op (BIT_NOT_EXPR, type, 1);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[0];
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail299;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail299:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_108 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (mod))
{
  gimple_seq *lseq = seq;
  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", 718, __FILE__, __LINE__);
  {
    tree tem;
    tem =  build_zero_cst (type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail300:;
  return false;
}

static bool
gimple_simplify_109 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (opo), const enum tree_code ARG_UNUSED (opi))
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])))
    lseq = NULL;
  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", 1600, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_AND_EXPR, type, 2);
    {
      tree _o1[1], _r1;
      _o1[0] = captures[1];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail301;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] = captures[2];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail301:;
  return false;
}

static bool
gimple_simplify_110 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  gimple_seq *lseq = seq;
	  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", 2789, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[3];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail302:;
	}
      else
	{
/* #line 2790 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (code1 == NE_EXPR && val
)
	    {
	      gimple_seq *lseq = seq;
	      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", 2790, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (true, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail303:;
	    }
	  else
	    {
/* #line 2791 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  gimple_seq *lseq = seq;
		  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", 2791, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail304:;
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_111 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 3971 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree shift_type = TREE_TYPE (captures[2]);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[1])))
	    lseq = NULL;
	  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", 3977, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		if (shift_type != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (shift_type, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, shift_type, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail305;
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] = captures[4];
	      gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail305;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail305:;
      }
    }
  return false;
}

static bool
gimple_simplify_112 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  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", 5793, __FILE__, __LINE__);
  {
    res_op->set_op (op, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail306:;
  return false;
}

static bool
gimple_simplify_113 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (plusminus))
{
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
 && (!FLOAT_TYPE_P (type) || flag_associative_math)
)
    {
/* #line 3256 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (single_use (captures[0]) || single_use (captures[3])
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[3])))
	        lseq = NULL;
	      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", 3264, __FILE__, __LINE__);
	      {
		res_op->set_op (MULT_EXPR, type, 2);
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = captures[4];
		  gimple_match_op tem_op (res_op->cond.any_else (), plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail307;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail307:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[3])))
	        lseq = NULL;
	      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", 3265, __FILE__, __LINE__);
	      {
		res_op->set_op (MULT_EXPR, type, 2);
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] = captures[4];
		  gimple_match_op tem_op (res_op->cond.any_else (), plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail308;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (NULL, valueize);
		if (!maybe_push_res_to_seq (res_op, NULL)) goto next_after_fail308;
		return true;
	      }
next_after_fail308:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_114 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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,
0
);
/* #line 3497 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3498 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3499 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  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", 3500, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail309:;
		}
	      else
		{
/* #line 3501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 3502, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail310:;
		    }
		}
	    }
	  else
	    {
/* #line 3503 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  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", 3504, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail311:;
		}
	      else
		{
/* #line 3505 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 3506, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail312:;
		    }
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_115 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 2363, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail313:;
    }
  return false;
}

static bool
gimple_simplify_116 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
/* #line 7581 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
)
	{
	  gimple_seq *lseq = seq;
	  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", 7582, __FILE__, __LINE__);
	  {
	    res_op->set_op (CFN_FNMS, type, 3);
	    res_op->ops[0] = captures[1];
	    res_op->ops[1] = captures[2];
	    res_op->ops[2] = captures[3];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail314:;
	}
    }
  return false;
}

static bool
gimple_simplify_117 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6360 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 6362, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail315:;
    }
  return false;
}

static bool
gimple_simplify_118 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[3]);
/* #line 8006 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (element_precision (type) == element_precision (op_type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 8007, __FILE__, __LINE__);
	  {
	    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
	    {
	      tree _o1[4], _r1;
	      _o1[0] = captures[0];
	      _o1[1] = captures[1];
	      _o1[2] = captures[2];
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[4];
		gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail316;
		_o1[3] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), cond_op, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail316;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail316:;
	}
  }
  return false;
}

static bool
gimple_simplify_119 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (HYPOT))
{
  gimple_seq *lseq = seq;
  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", 6763, __FILE__, __LINE__);
  {
    res_op->set_op (ABS_EXPR, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail317:;
  return false;
}

static bool
gimple_simplify_120 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (FFS), const combined_fn ARG_UNUSED (CTZ))
{
/* #line 7864 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && direct_internal_fn_supported_p (IFN_CTZ, TREE_TYPE (captures[0]),
 OPTIMIZE_FOR_SPEED)
)
    {
      {
/* #line 7867 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
	  gimple_seq *lseq = seq;
	  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", 7868, __FILE__, __LINE__);
	  {
	    res_op->set_op (PLUS_EXPR, type, 2);
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[0];
		if (utype != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail318;
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), CTZ, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail318;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] =  build_one_cst (type);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail318:;
      }
    }
  return false;
}

static bool
gimple_simplify_121 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2152 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])
)
    {
      gimple_seq *lseq = seq;
      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", 2155, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail319:;
    }
  return false;
}

static bool
gimple_simplify_122 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1626, __FILE__, __LINE__);
  {
    res_op->set_op (NOP_EXPR, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail320:;
  return false;
}

static bool
gimple_simplify_123 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (neeq))
{
  {
/* #line 2391 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff; tree inner_type = TREE_TYPE (captures[1]);
/* #line 2392 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (ptr_difference_const (captures[0], captures[2], &diff)
)
	{
	  gimple_seq *lseq = seq;
	  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", 2393, __FILE__, __LINE__);
	  {
	    res_op->set_op (neeq, type, 2);
	    {
	      tree _o1[2], _r1;
	      _o1[0] =  build_int_cst_type (inner_type, diff);
	      _o1[1] = captures[1];
	      gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail321;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] = captures[3];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail321:;
	}
  }
  return false;
}

static bool
gimple_simplify_124 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
  gimple_seq *lseq = seq;
  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", 6783, __FILE__, __LINE__);
  {
    res_op->set_op (ABS_EXPR, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail322:;
  return false;
}

static bool
gimple_simplify_125 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 334, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail323;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail323:;
    }
  return false;
}

static bool
gimple_simplify_126 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (rotate))
{
/* #line 3984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree rotate_type = TREE_TYPE (captures[2]);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[1])))
	    lseq = NULL;
	  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", 3991, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		if (rotate_type != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (rotate_type, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, rotate_type, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail324;
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] = captures[4];
	      gimple_match_op tem_op (res_op->cond.any_else (), rotate, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail324;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail324:;
      }
    }
  return false;
}

static bool
gimple_simplify_127 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (TREE_CODE (captures[2]) == INTEGER_CST
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5825, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] =  force_fit_type (TREE_TYPE (captures[1]), wi::to_widest (captures[2]), 0,
 TREE_OVERFLOW (captures[2]));
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail325:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 5827, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		res_op->ops[0] = captures[1];
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[2];
		  if (TREE_TYPE (res_op->ops[0]) != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (TREE_TYPE (res_op->ops[0]), TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (res_op->ops[0]), _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail326;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail326:;
	    }
	}
      else
	{
/* #line 5829 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
)
	    {
/* #line 5831 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))))
)
		{
		  gimple_seq *lseq = seq;
		  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", 5843, __FILE__, __LINE__);
		  {
		    res_op->set_op (cmp, type, 2);
		    res_op->ops[0] = captures[1];
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[3];
		      if (TREE_TYPE (res_op->ops[0]) != TREE_TYPE (_o1[0])
		          && !useless_type_conversion_p (TREE_TYPE (res_op->ops[0]), TREE_TYPE (_o1[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (res_op->ops[0]), _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail327;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail327:;
		}
	      else
		{
/* #line 5844 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (above || below
)
			    {
/* #line 5855 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  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", 5856, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail328:;
				}
			      else
				{
/* #line 5857 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (cmp == LT_EXPR || cmp == LE_EXPR
)
				    {
				      gimple_seq *lseq = seq;
				      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", 5858, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  constant_boolean_node (above ? true : false, type);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail329:;
				    }
				  else
				    {
/* #line 5859 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (cmp == GT_EXPR || cmp == GE_EXPR
)
					{
					  gimple_seq *lseq = seq;
					  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", 5860, __FILE__, __LINE__);
					  {
					    tree tem;
					    tem =  constant_boolean_node (above ? false : true, type);
					    res_op->set_value (tem);
					    return true;
					  }
next_after_fail330:;
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  else
    {
/* #line 5862 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (newtype)
)
		{
		  gimple_seq *lseq = seq;
		  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", 5885, __FILE__, __LINE__);
		  {
		    res_op->set_op (cmp, type, 2);
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[1];
		      if (newtype != TREE_TYPE (_o1[0])
		          && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail331;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[0] = _r1;
		    }
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[3];
		      if (newtype != TREE_TYPE (_o1[0])
		          && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail331;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail331:;
		}
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_128 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      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", 3091, __FILE__, __LINE__);
	      {
		res_op->set_op (NEGATE_EXPR, type, 1);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[0];
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail332;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail332:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_129 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 4220, __FILE__, __LINE__);
  {
    res_op->set_op (NOP_EXPR, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail333:;
  return false;
}

static bool
gimple_simplify_130 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (integer_zerop (captures[2]) && single_use (captures[0])
)
    {
      {
/* #line 7634 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (stype
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      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", 7645, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  if (stype != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (stype, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, stype, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail334;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] =  build_zero_cst (stype);
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail334:;
	    }
      }
    }
  else
    {
      {
/* #line 7647 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (ok && wi::to_wide (captures[2]) == (TYPE_PRECISION (type0) - 1)
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      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", 7658, __FILE__, __LINE__);
	      {
		res_op->set_op (op, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] =  build_one_cst (type0);
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail335:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_131 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 1292 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 1293, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == LT_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail336:;
    }
  return false;
}

static bool
gimple_simplify_132 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 4239 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (types_match (type, TREE_TYPE (captures[2]))
 && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[2])) && !overflow
)
	    {
	      gimple_seq *lseq = seq;
	      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", 4249, __FILE__, __LINE__);
	      {
		res_op->set_op (op, type, 2);
		res_op->ops[0] = captures[0];
		res_op->ops[1] =  wide_int_to_tree (type, mul);
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail337:;
	    }
	  else
	    {
	      {
/* #line 4250 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  gimple_seq *lseq = seq;
		  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", 4251, __FILE__, __LINE__);
		  {
		    res_op->set_op (NOP_EXPR, type, 1);
		    {
		      tree _o1[2], _r1;
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[0];
			if (utype != TREE_TYPE (_o2[0])
			    && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
			  {
			    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail338;
			  }
			else
			  _r2 = _o2[0];
			_o1[0] = _r2;
		      }
		      {
			tree _o2[2], _r2;
			{
			  tree _o3[1], _r3;
			  _o3[0] = captures[1];
			  if (utype != TREE_TYPE (_o3[0])
			      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r3) goto next_after_fail338;
			    }
			  else
			    _r3 = _o3[0];
			  _o2[0] = _r3;
			}
			{
			  tree _o3[1], _r3;
			  _o3[0] = captures[2];
			  if (utype != TREE_TYPE (_o3[0])
			      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r3) goto next_after_fail338;
			    }
			  else
			    _r3 = _o3[0];
			  _o2[1] = _r3;
			}
			gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail338;
			_o1[1] = _r2;
		      }
		      gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail338;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail338:;
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_133 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (div))
{
/* #line 846 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type)
)
    {
/* #line 847 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_UNDEFINED (type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 848, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail339:;
	}
      else
	{
	  {
/* #line 850 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 bool overflowed = true;
 value_range vr0, vr1;
 if (INTEGRAL_TYPE_P (type)
 && get_global_range_query ()->range_of_expr (vr0, captures[0])
 && get_global_range_query ()->range_of_expr (vr1, captures[1])
 && vr0.kind () == VR_RANGE
 && vr1.kind () == VR_RANGE)
 {
 wide_int wmin0 = vr0.lower_bound ();
 wide_int wmax0 = vr0.upper_bound ();
 wide_int wmin1 = vr1.lower_bound ();
 wide_int wmax1 = vr1.upper_bound ();
 wi::overflow_type min_ovf, max_ovf;
 wi::mul (wmin0, wmin1, TYPE_SIGN (type), &min_ovf);
 wi::mul (wmax0, wmax1, TYPE_SIGN (type), &max_ovf);
 if (min_ovf == wi::OVF_NONE && max_ovf == wi::OVF_NONE)
 {
 wi::mul (wmin0, wmax1, TYPE_SIGN (type), &min_ovf);
 wi::mul (wmax0, wmin1, TYPE_SIGN (type), &max_ovf);
 if (min_ovf == wi::OVF_NONE && max_ovf == wi::OVF_NONE)
 overflowed = false;
 }
 }
/* #line 878 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (!overflowed
)
		{
		  gimple_seq *lseq = seq;
		  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", 879, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail340:;
		}
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_134 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (types_match (type, TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5164 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[1]));
/* #line 5166 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (ic == icmp
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5167, __FILE__, __LINE__);
	      {
		res_op->set_op (icmp, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail341:;
	    }
	  else
	    {
/* #line 5168 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (ic == ncmp
)
		{
		  gimple_seq *lseq = seq;
		  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", 5169, __FILE__, __LINE__);
		  {
		    res_op->set_op (ncmp, type, 2);
		    res_op->ops[0] = captures[1];
		    res_op->ops[1] = captures[2];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail342:;
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_135 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5038 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
    {
/* #line 5040 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
	{
	  {
/* #line 5042 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
	      gimple_seq *lseq = seq;
	      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", 5045, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[1], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[0];
		    gimple_match_op tem_op (res_op->cond.any_else (), ABSU_EXPR, utype, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail343;
		    _o1[0] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail343;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail343:;
	  }
	}
      else
	{
	  gimple_seq *lseq = seq;
	  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", 5046, __FILE__, __LINE__);
	  {
	    res_op->set_op (NEGATE_EXPR, type, 1);
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[0];
	      gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail344;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail344:;
	}
    }
  return false;
}

static bool
gimple_simplify_136 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1547 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 1551, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_NOT_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  {
	    tree _o2[2], _r2;
	    _o2[0] = captures[0];
	    _o2[1] = captures[1];
	    gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail345;
	    _o1[0] = _r2;
	  }
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail345;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail345:;
    }
  return false;
}

static bool
gimple_simplify_137 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (tans), const combined_fn ARG_UNUSED (atans))
{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      gimple_seq *lseq = seq;
      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", 6684, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail346:;
    }
  return false;
}

static bool
gimple_simplify_138 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 6812, __FILE__, __LINE__);
      {
	res_op->set_op (SIN, type, 1);
	res_op->ops[0] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail347:;
    }
  return false;
}

static bool
gimple_simplify_139 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop))
{
/* #line 1802 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 ||
1
)
 && (
 TYPE_PRECISION (TREE_TYPE (captures[1])) < TYPE_PRECISION (type)
 || (
1
 && TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (type))
 || GET_MODE_CLASS (TYPE_MODE (type)) != MODE_INT
 || !type_has_mode_precision_p (type)
 || (
1
 && TREE_CODE (captures[3]) != INTEGER_CST
 && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && single_use (captures[0])
 && single_use (captures[2])))
)
    {
      gimple_seq *lseq = seq;
      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", 1837, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[3];
	    if (TREE_TYPE (_o1[0]) != TREE_TYPE (_o2[0])
	        && !useless_type_conversion_p (TREE_TYPE (_o1[0]), TREE_TYPE (_o2[0])))
	      {
		gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail348;
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail348;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail348:;
    }
  return false;
}

static bool
gimple_simplify_140 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 1580, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[0];
	    gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail349;
	    _o1[1] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail349;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail349:;
    }
  return false;
}

static bool
gimple_simplify_141 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 321 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 322, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail350;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail350:;
    }
  return false;
}

static bool
gimple_simplify_142 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5227 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 widest_int quot;
/* #line 5231 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5233, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		res_op->ops[0] = captures[0];
		res_op->ops[1] =  wide_int_to_tree (TREE_TYPE (captures[0]), quot);
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail351:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 5234, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == NE_EXPR, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail352:;
	    }
      }
    }
  else
    {
/* #line 5235 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
	{
	  gimple_seq *lseq = seq;
	  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", 5238, __FILE__, __LINE__);
	  {
	    res_op->set_op (cmp, type, 2);
	    res_op->ops[0] = captures[0];
 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_op->ops[1] = 
 wide_int_to_tree (itype, wi::mul (i, wi::to_wide (captures[2])));
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail353:;
	}
    }
  return false;
}

static bool
gimple_simplify_143 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1507, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_XOR_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail354:;
  return false;
}

static bool
gimple_simplify_144 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 7041 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
 && optimize
 && FLOAT_TYPE_P (type)
 && FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 && types_match (type, TREE_TYPE (captures[1]))
 && types_match (type, TREE_TYPE (captures[2]))
 && types_match (type, TREE_TYPE (captures[3]))
 && TYPE_PRECISION (type) < TYPE_PRECISION (TREE_TYPE (captures[0]))
 && direct_internal_fn_supported_p (as_internal_fn (tos),
 type, OPTIMIZE_FOR_BOTH)
)
    {
      gimple_seq *lseq = seq;
      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", 7051, __FILE__, __LINE__);
      {
	res_op->set_op (tos, type, 3);
	res_op->ops[0] = captures[1];
	res_op->ops[1] = captures[2];
	res_op->ops[2] = captures[3];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail355:;
    }
  return false;
}

static bool
gimple_simplify_145 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2932 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (TYPE_OVERFLOW_UNDEFINED (type)
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      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", 2934, __FILE__, __LINE__);
	      {
		res_op->set_op (POINTER_DIFF_EXPR, type, 2);
		res_op->ops[0] = captures[2];
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail356:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_146 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (POPCOUNT), const combined_fn ARG_UNUSED (PARITY))
{
  gimple_seq *lseq = seq;
  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", 7745, __FILE__, __LINE__);
  {
    res_op->set_op (PARITY, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail357:;
  return false;
}

static bool
gimple_simplify_147 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 198 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (fold_real_zero_addition_p (type, captures[0], captures[1], 0)
)
    {
      gimple_seq *lseq = seq;
      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", 199, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail358:;
    }
  return false;
}

static bool
gimple_simplify_148 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (PARITY))
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[2])))
    lseq = NULL;
  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", 7756, __FILE__, __LINE__);
  {
    res_op->set_op (PARITY, type, 1);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[3];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail359;
      res_op->ops[0] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail359:;
  return false;
}

static bool
gimple_simplify_149 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (POW))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6872 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!TREE_OVERFLOW (captures[2])
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 6873, __FILE__, __LINE__);
	  {
	    res_op->set_op (POW, type, 2);
	    res_op->ops[0] = captures[1];
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[2];
	      _o1[1] =  build_one_cst (type);
	      gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail360;
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail360:;
	}
    }
  return false;
}

static bool
gimple_simplify_150 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (shiftrotate))
{
  gimple_seq *lseq = seq;
  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", 3714, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail361:;
  return false;
}

static bool
gimple_simplify_151 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 321 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 322, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail362;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail362:;
    }
  return false;
}

static bool
gimple_simplify_152 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 7230, __FILE__, __LINE__);
	  {
	    res_op->set_op (op, type, 2);
	    res_op->ops[0] = captures[2];
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[4];
	      if (type != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail363;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail363:;
	}
      else
	{
	  {
/* #line 7231 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      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", 7232, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (utype != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail364;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[4];
		    if (utype != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail364;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail364;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail364:;
	  }
	}
    }
  else
    {
/* #line 7234 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 7245 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if ((newtype == dfloat32_type_node
 || newtype == dfloat64_type_node
 || newtype == dfloat128_type_node)
 && newtype == type
 && types_match (newtype, type)
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[0])))
			    lseq = NULL;
			  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", 7263, __FILE__, __LINE__);
			  {
			    res_op->set_op (op, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[2];
			      if (newtype != TREE_TYPE (_o1[0])
			          && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail365;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[4];
			      if (newtype != TREE_TYPE (_o1[0])
			          && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail365;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail365:;
			}
		      else
			{
			  {
/* #line 7264 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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)
)
				{
				  gimple_seq *lseq = seq;
				  if (lseq
				      && (!single_use (captures[0])))
				    lseq = NULL;
				  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", 7296, __FILE__, __LINE__);
				  {
				    res_op->set_op (NOP_EXPR, type, 1);
				    {
				      tree _o1[2], _r1;
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[2];
					if (newtype != TREE_TYPE (_o2[0])
					    && !useless_type_conversion_p (newtype, TREE_TYPE (_o2[0])))
					  {
					    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail366;
					  }
					else
					  _r2 = _o2[0];
					_o1[0] = _r2;
				      }
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[4];
					if (newtype != TREE_TYPE (_o2[0])
					    && !useless_type_conversion_p (newtype, TREE_TYPE (_o2[0])))
					  {
					    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail366;
					  }
					else
					  _r2 = _o2[0];
					_o1[1] = _r2;
				      }
				      gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail366;
				      res_op->ops[0] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail366:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_153 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 3953 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 3954, __FILE__, __LINE__);
      {
	res_op->set_op (icmp, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] =  wide_int_to_tree (TREE_TYPE (captures[0]),
 wi::exact_log2 (wi::to_wide (captures[1])));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail367:;
    }
  return false;
}

static bool
gimple_simplify_154 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  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", 5272, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (true, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail368:;
  return false;
}

static bool
gimple_simplify_155 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2599 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (wi::ltu_p (wi::to_wide (captures[1]), align / BITS_PER_UNIT)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 2608, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  wide_int_to_tree (type, (wi::to_wide (captures[1])
 & (bitpos / BITS_PER_UNIT)));
		res_op->set_value (tem);
		return true;
	      }
next_after_fail369:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_156 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 3730 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
)
    {
      {
/* #line 3731 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int width = ceil_log2 (element_precision (TREE_TYPE (captures[0])));
 int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
/* #line 3735 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if ((get_nonzero_bits (captures[1]) & wi::mask (width, false, prec)) == 0
)
	    {
	      gimple_seq *lseq = seq;
	      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", 3736, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail370:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_157 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  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", 5932, __FILE__, __LINE__);
  {
    res_op->set_op (cmp, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail371:;
  return false;
}

static bool
gimple_simplify_158 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  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", 5938, __FILE__, __LINE__);
  {
    res_op->set_op (cmp, type, 2);
    res_op->ops[0] = captures[1];
    res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail372:;
  return false;
}

static bool
gimple_simplify_159 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (test1), const enum tree_code ARG_UNUSED (test2))
{
/* #line 5731 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 || VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 5733, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (true, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail373:;
    }
  return false;
}

static bool
gimple_simplify_160 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6042 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
/* #line 6050 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (cmp == GE_EXPR
)
	    {
	      gimple_seq *lseq = seq;
	      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", 6051, __FILE__, __LINE__);
	      {
		res_op->set_op (BIT_XOR_EXPR, type, 2);
		{
		  tree _o1[1], _r1;
		  {
		    tree _o2[2], _r2;
		    _o2[0] = captures[0];
		    _o2[1] = shifter;
		    gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail374;
		    _o1[0] = _r2;
		  }
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail374;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail374:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 6052, __FILE__, __LINE__);
	      {
		res_op->set_op (BIT_NOT_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    {
		      tree _o3[2], _r3;
		      _o3[0] = captures[0];
		      _o3[1] = shifter;
		      gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		      tem_op.resimplify (lseq, valueize);
		      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r3) goto next_after_fail375;
		      _o2[0] = _r3;
		    }
		    if (type != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail375;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  _o1[1] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail375;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail375:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_161 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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,
0
);
/* #line 6118 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 6120 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (cmp == EQ_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
)
	    {
	      gimple_seq *lseq = seq;
	      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", 6121, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (known_eq (off0, off1), type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail376:;
	    }
	  else
	    {
/* #line 6122 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == NE_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
)
		{
		  gimple_seq *lseq = seq;
		  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", 6123, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (known_ne (off0, off1), type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail377:;
		}
	      else
		{
/* #line 6124 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == LT_EXPR && (known_lt (off0, off1) || known_ge (off0, off1))
)
		    {
		      gimple_seq *lseq = seq;
		      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", 6125, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (known_lt (off0, off1), type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail378:;
		    }
		  else
		    {
/* #line 6126 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == LE_EXPR && (known_le (off0, off1) || known_gt (off0, off1))
)
			{
			  gimple_seq *lseq = seq;
			  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", 6127, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (known_le (off0, off1), type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail379:;
			}
		      else
			{
/* #line 6128 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == GE_EXPR && (known_ge (off0, off1) || known_lt (off0, off1))
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6129, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  constant_boolean_node (known_ge (off0, off1), type);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail380:;
			    }
			  else
			    {
/* #line 6130 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (cmp == GT_EXPR && (known_gt (off0, off1) || known_le (off0, off1))
)
				{
				  gimple_seq *lseq = seq;
				  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", 6131, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (known_gt (off0, off1), type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail381:;
				}
			    }
			}
		    }
		}
	    }
	}
      else
	{
/* #line 6132 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (equal == 0
)
	    {
/* #line 6134 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == EQ_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  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", 6135, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (false, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail382:;
		}
	      else
		{
/* #line 6136 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == NE_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      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", 6137, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (true, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail383:;
		    }
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_162 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (fns))
{
  gimple_seq *lseq = seq;
  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", 6758, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail384:;
  return false;
}

static bool
gimple_simplify_163 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2639 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      gimple_seq *lseq = seq;
      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", 2640, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (false, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail385:;
    }
  else
    {
/* #line 2641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  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", 2642, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail386:;
	}
    }
  return false;
}

static bool
gimple_simplify_164 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (outer_op))
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
/* #line 2990 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (!CONSTANT_CLASS_P (captures[1])
)
		{
		  gimple_seq *lseq = seq;
		  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", 2991, __FILE__, __LINE__);
		  {
		    res_op->set_op (MINUS_EXPR, type, 2);
		    {
		      tree _o1[2], _r1;
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[0];
			gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail387;
			_o1[0] = _r2;
		      }
		      _o1[1] = captures[2];
		      gimple_match_op tem_op (res_op->cond.any_else (), outer_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      tem_op.resimplify (NULL, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, NULL);
		      if (!_r1) goto next_after_fail387;
		      res_op->ops[0] = _r1;
		    }
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[1];
		      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail387;
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail387:;
		}
	    }
	  else
	    {
/* #line 2992 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
)
		{
		  gimple_seq *lseq = seq;
		  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", 2994, __FILE__, __LINE__);
		  {
		    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		    {
		      tree _o1[2], _r1;
		      {
			tree _o2[2], _r2;
			_o2[0] = captures[0];
			{
			  tree _o3[1], _r3;
			  _o3[0] = captures[2];
			  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r3) goto next_after_fail388;
			  _o2[1] = _r3;
			}
			gimple_match_op tem_op (res_op->cond.any_else (), outer_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
			tem_op.resimplify (NULL, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r2) goto next_after_fail388;
			_o1[0] = _r2;
		      }
		      _o1[1] = captures[1];
		      gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail388;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail388:;
		}
	      else
		{
/* #line 2995 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (types_match (type, captures[1]) && !TYPE_OVERFLOW_SANITIZED (type)
)
		    {
		      {
/* #line 2996 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree cst = const_binop (outer_op, type, captures[0], captures[2]);
/* #line 2997 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cst && !TREE_OVERFLOW (cst)
)
			    {
			      gimple_seq *lseq = seq;
			      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", 2998, __FILE__, __LINE__);
			      {
				res_op->set_op (MINUS_EXPR, type, 2);
				res_op->ops[0] =  cst;
				res_op->ops[1] = captures[1];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail389:;
			    }
		      }
		    }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_165 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!flag_errno_math
)
    {
      {
/* #line 6741 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree t_one = build_one_cst (type);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 6742, __FILE__, __LINE__);
	  {
	    res_op->set_op (RDIV_EXPR, type, 2);
	    res_op->ops[0] =  t_one;
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[2], _r3;
		  _o3[0] =  t_one;
		  _o3[1] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r3) goto next_after_fail390;
		  _o2[0] = _r3;
		}
		{
		  tree _o3[2], _r3;
		  _o3[0] =  t_one;
		  _o3[1] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r3) goto next_after_fail390;
		  _o2[1] = _r3;
		}
		gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail390;
		_o1[0] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), sqrts, TREE_TYPE (_o1[0]), _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail390;
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail390:;
      }
    }
  return false;
}

static bool
gimple_simplify_166 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (div))
{
/* #line 445 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 449, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_minus_one_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail391:;
    }
  return false;
}

static bool
gimple_simplify_167 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (SQRT_ALL))
{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
/* #line 6486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!tree_expr_maybe_signaling_nan_p (captures[1])
)
	{
	  gimple_seq *lseq = seq;
	  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", 6487, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[1];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail392:;
	}
    }
  return false;
}

static bool
gimple_simplify_168 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 1978 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && invert_tree_comparison (cmp, HONOR_NANS (captures[1])) == icmp
 && canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 1984, __FILE__, __LINE__);
      {
	res_op->set_op (COND_EXPR, type, 3);
	res_op->ops[0] = captures[0];
	res_op->ops[0] = unshare_expr (res_op->ops[0]);
	res_op->ops[1] = captures[3];
	res_op->ops[2] = captures[5];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail393:;
    }
  return false;
}

static bool
gimple_simplify_169 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (uncond_op), const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 7992 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7993 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (vectorized_internal_fn_supported_p (as_internal_fn (cond_op), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
	{
	  gimple_seq *lseq = seq;
	  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", 7996, __FILE__, __LINE__);
	  {
	    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
	    {
	      tree _o1[5], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[0];
		gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail394;
		_o1[0] = _r2;
	      }
	      _o1[1] = captures[3];
	      _o1[2] = captures[4];
	      _o1[3] = captures[5];
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[1];
		gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail394;
		_o1[4] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), cond_op, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3], _o1[4]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail394;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail394:;
	}
  }
  return false;
}

static bool
gimple_simplify_170 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 5720, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail395:;
  return false;
}

static bool
gimple_simplify_171 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
  gimple_seq *lseq = seq;
  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", 6773, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail396:;
  return false;
}

static bool
gimple_simplify_172 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 3865 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if ((mask & zerobits) == mask
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[1])))
	        lseq = NULL;
	      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", 3925, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_int_cst (type, 0);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail397:;
	    }
	  else
	    {
	      {
/* #line 3926 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3927 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3928 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3939 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3942 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (shift_type != TREE_TYPE (captures[2])
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  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", 3943, __FILE__, __LINE__);
					  {
					    res_op->set_op (BIT_AND_EXPR, type, 2);
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[2];
						  if (shift_type != TREE_TYPE (_o3[0])
						      && !useless_type_conversion_p (shift_type, TREE_TYPE (_o3[0])))
						    {
						      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, shift_type, _o3[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r3) goto next_after_fail398;
						    }
						  else
						    _r3 = _o3[0];
						  _o2[0] = _r3;
						}
						_o2[1] = captures[4];
						gimple_match_op tem_op (res_op->cond.any_else (), shift, shift_type, _o2[0], _o2[1]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail398;
						_o1[0] = _r2;
					      }
					      if (type != TREE_TYPE (_o1[0])
					          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
						{
						  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
						  tem_op.resimplify (lseq, valueize);
						  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						  if (!_r1) goto next_after_fail398;
					        }
					      else
					        _r1 = _o1[0];
					      res_op->ops[0] = _r1;
					    }
					    res_op->ops[1] =  newmaskt;
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail398:;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  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", 3944, __FILE__, __LINE__);
					  {
					    res_op->set_op (BIT_AND_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    res_op->ops[1] =  newmaskt;
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail399:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_173 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2101 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[1])))
        lseq = NULL;
      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", 2102, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_NOT_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[2];
	    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o2[0]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail400;
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[3];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail400;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail400:;
    }
  return false;
}

static bool
gimple_simplify_174 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 1118 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 1121, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[2];
	    if (TREE_TYPE (_o1[0]) != TREE_TYPE (_o2[0])
	        && !useless_type_conversion_p (TREE_TYPE (_o1[0]), TREE_TYPE (_o2[0])))
	      {
		gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail401;
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail401;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail401:;
    }
  return false;
}

static bool
gimple_simplify_175 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  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", 5958, __FILE__, __LINE__);
  {
    res_op->set_op (cmp, type, 2);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[0];
      {
	tree _o2[1], _r2;
	_o2[0] = captures[1];
	gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	tem_op.resimplify (NULL, valueize);
	_r2 = maybe_push_res_to_seq (&tem_op, NULL);
	if (!_r2) goto next_after_fail402;
	_o1[1] = _r2;
      }
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail402;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[0]));
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail402:;
  return false;
}

static bool
gimple_simplify_176 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  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", 5276, __FILE__, __LINE__);
  {
    res_op->set_op (UNORDERED_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail403:;
  return false;
}

static bool
gimple_simplify_177 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 3619 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && (
1
 || !TREE_SIDE_EFFECTS (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 3621, __FILE__, __LINE__);
      {
	res_op->set_op (COND_EXPR, type, 3);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  if (boolean_type_node != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (boolean_type_node, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, boolean_type_node, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail404;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->ops[2] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail404:;
    }
  return false;
}

static bool
gimple_simplify_178 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (copysigns))
{
/* #line 7028 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (optimize
 && !HONOR_SNANS (captures[0])
 && types_match (type, TREE_TYPE (captures[1]))
 && types_match (type, TREE_TYPE (captures[2]))
 && TYPE_PRECISION (type) < TYPE_PRECISION (TREE_TYPE (captures[0]))
 && direct_internal_fn_supported_p (IFN_COPYSIGN,
 type, OPTIMIZE_FOR_BOTH)
)
    {
      gimple_seq *lseq = seq;
      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", 7035, __FILE__, __LINE__);
      {
	res_op->set_op (CFN_COPYSIGN, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail405:;
    }
  return false;
}

static bool
gimple_simplify_179 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 8024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[6]);
/* #line 8025 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (inverse_conditions_p (captures[0], captures[2])
 && element_precision (type) == element_precision (op_type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 8027, __FILE__, __LINE__);
	  {
	    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
	    {
	      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];
		gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail406;
		_o1[4] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), cond_op, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3], _o1[4]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail406;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail406:;
	}
  }
  return false;
}

static bool
gimple_simplify_180 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (div))
{
  {
/* #line 485 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (div == EXACT_DIV_EXPR
 || optimize_successive_divisions_p (captures[3], captures[0])
)
	{
/* #line 492 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!overflow
)
	    {
	      gimple_seq *lseq = seq;
	      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", 493, __FILE__, __LINE__);
	      {
		res_op->set_op (div, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] =  wide_int_to_tree (type, mul);
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail407:;
	    }
	  else
	    {
/* #line 494 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (TYPE_UNSIGNED (type)
 || mul != wi::min_value (TYPE_PRECISION (type), SIGNED)
)
		{
		  gimple_seq *lseq = seq;
		  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", 496, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  build_zero_cst (type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail408:;
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_181 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (rop))
{
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      gimple_seq *lseq = seq;
      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", 1614, __FILE__, __LINE__);
      {
	res_op->set_op (rop, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail409;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[1];
	    if (type != TREE_TYPE (_o2[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
	      {
		gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail409;
	      }
	    else
	      _r2 = _o2[0];
	    _o1[0] = _r2;
	  }
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[2];
	    if (type != TREE_TYPE (_o2[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
	      {
		gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail409;
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail409;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail409:;
    }
  return false;
}

static bool
gimple_simplify_182 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 3428, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail410:;
  return false;
}

static bool
gimple_simplify_183 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (plusminus))
{
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
 && (!FLOAT_TYPE_P (type) || flag_associative_math)
)
    {
/* #line 3268 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
)
	{
/* #line 3271 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])
)
	    {
	      gimple_seq *lseq = seq;
	      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", 3291, __FILE__, __LINE__);
	      {
		res_op->set_op (MULT_EXPR, type, 2);
		{
		  tree _o1[2], _r1;
		  _o1[0] =  build_one_cst (type);
		  _o1[1] = captures[2];
		  gimple_match_op tem_op (res_op->cond.any_else (), plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail411;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[0];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail411:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_184 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3006 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
/* #line 3009 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (!CONSTANT_CLASS_P (captures[2])
)
		{
		  gimple_seq *lseq = seq;
		  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", 3010, __FILE__, __LINE__);
		  {
		    res_op->set_op (PLUS_EXPR, type, 2);
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[2];
		      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail412;
		      res_op->ops[0] = _r1;
		    }
		    {
		      tree _o1[2], _r1;
		      _o1[0] = captures[0];
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[1];
			gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail412;
			_o1[1] = _r2;
		      }
		      gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      tem_op.resimplify (NULL, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, NULL);
		      if (!_r1) goto next_after_fail412;
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail412:;
		}
	    }
	  else
	    {
/* #line 3011 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (!ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
 || TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
		{
		  gimple_seq *lseq = seq;
		  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", 3013, __FILE__, __LINE__);
		  {
		    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		    {
		      tree _o1[2], _r1;
		      _o1[0] = captures[2];
		      {
			tree _o2[2], _r2;
			{
			  tree _o3[1], _r3;
			  _o3[0] = captures[0];
			  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r3) goto next_after_fail413;
			  _o2[0] = _r3;
			}
			_o2[1] = captures[1];
			gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
			tem_op.resimplify (NULL, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r2) goto next_after_fail413;
			_o1[1] = _r2;
		      }
		      gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail413;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail413:;
		}
	      else
		{
/* #line 3014 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (types_match (type, captures[2]) && !TYPE_OVERFLOW_SANITIZED (type)
)
		    {
		      {
/* #line 3015 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree cst = const_binop (MINUS_EXPR, type, captures[0], captures[1]);
/* #line 3016 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cst && !TREE_OVERFLOW (cst)
)
			    {
			      gimple_seq *lseq = seq;
			      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", 3017, __FILE__, __LINE__);
			      {
				res_op->set_op (PLUS_EXPR, type, 2);
				res_op->ops[0] =  cst;
				res_op->ops[1] = captures[2];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail414:;
			    }
		      }
		    }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_185 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])))
    lseq = NULL;
  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", 5974, __FILE__, __LINE__);
  {
    res_op->set_op (cmp, type, 2);
    {
      tree _o1[2], _r1;
      {
	tree _o2[2], _r2;
	_o2[0] = captures[1];
	_o2[1] = captures[4];
	gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
	tem_op.resimplify (lseq, valueize);
	_r2 = maybe_push_res_to_seq (&tem_op, lseq);
	if (!_r2) goto next_after_fail415;
	_o1[0] = _r2;
      }
      _o1[1] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail415;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[2]));
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail415:;
  return false;
}

static bool
gimple_simplify_186 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
/* #line 2141 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
	{
	  gimple_seq *lseq = seq;
	  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", 2143, __FILE__, __LINE__);
	  {
	    res_op->set_op (COND_EXPR, type, 3);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[3];
	    res_op->ops[2] =  build_zero_cst (type);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail416:;
	}
    }
  return false;
}

static bool
gimple_simplify_187 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (POW))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[3])))
        lseq = NULL;
      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", 6857, __FILE__, __LINE__);
      {
	res_op->set_op (POW, type, 2);
	res_op->ops[0] = captures[1];
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[2];
	  _o1[1] = captures[4];
	  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail417;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail417:;
    }
  return false;
}

static bool
gimple_simplify_188 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 314, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail418;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail418:;
    }
  return false;
}

static bool
gimple_simplify_189 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
    {
      gimple_seq *lseq = seq;
      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", 2380, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	res_op->ops[0] = captures[3];
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[3]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail419:;
    }
  return false;
}

static bool
gimple_simplify_190 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  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", 1931, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (op == NE_EXPR ? true : false, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail420:;
  return false;
}

static bool
gimple_simplify_191 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (minmax))
{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])
)
    {
      gimple_seq *lseq = seq;
      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", 3527, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail421:;
    }
  return false;
}

static bool
gimple_simplify_192 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1473, __FILE__, __LINE__);
  {
    res_op->set_op (PLUS_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail422:;
  return false;
}

static bool
gimple_simplify_193 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 3317 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && tree_fits_uhwi_p (captures[2])
 && tree_to_uhwi (captures[2]) < element_precision (type)
 && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 || optab_handler (smul_optab,
 TYPE_MODE (type)) != CODE_FOR_nothing)
)
    {
      {
/* #line 3323 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree t = type;
 if (!TYPE_OVERFLOW_WRAPS (t)) t = unsigned_type_for (t);
 wide_int w = wi::set_bit_in_zero (tree_to_uhwi (captures[2]),
 element_precision (type));
 w += 1;
 tree cst = wide_int_to_tree (VECTOR_TYPE_P (t) ? TREE_TYPE (t)
 : t, w);
 cst = build_uniform_cst (t, cst);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[1])))
	    lseq = NULL;
	  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", 3331, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[0];
		if (t != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (t, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, t, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail423;
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] =  cst;
	      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail423;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail423:;
      }
    }
  return false;
}

static bool
gimple_simplify_194 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 1963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && invert_tree_comparison (cmp, HONOR_NANS (captures[1])) == icmp
 && canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 1969, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_AND_EXPR, type, 2);
	{
	  tree _o1[3], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[3];
	  _o1[2] = captures[5];
	  gimple_match_op tem_op (res_op->cond.any_else (), COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail424;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_one_cst (type);
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail424:;
    }
  return false;
}

static bool
gimple_simplify_195 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 2648, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail425:;
  return false;
}

static bool
gimple_simplify_196 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (bswap))
{
  gimple_seq *lseq = seq;
  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", 4357, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_NOT_EXPR, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail426:;
  return false;
}

static bool
gimple_simplify_197 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
    {
      gimple_seq *lseq = seq;
      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", 5033, __FILE__, __LINE__);
      {
	res_op->set_op (ABS_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail427:;
    }
  return false;
}

static bool
gimple_simplify_198 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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,
0
);
/* #line 3497 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3498 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3499 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  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", 3500, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail428:;
		}
	      else
		{
/* #line 3501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 3502, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail429:;
		    }
		}
	    }
	  else
	    {
/* #line 3503 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  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", 3504, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail430:;
		}
	      else
		{
/* #line 3505 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 3506, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail431:;
		    }
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_199 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
  gimple_seq *lseq = seq;
  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", 6006, __FILE__, __LINE__);
  {
    res_op->set_op (icmp, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail432:;
  return false;
}

static bool
gimple_simplify_200 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 6965 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 6968, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), tos, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail433;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail433:;
    }
  return false;
}

static bool
gimple_simplify_201 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (maxmin))
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[2])))
    lseq = NULL;
  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", 3555, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_NOT_EXPR, type, 1);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[3];
      gimple_match_op tem_op (res_op->cond.any_else (), maxmin, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail434;
      res_op->ops[0] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail434:;
  return false;
}

static bool
gimple_simplify_202 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (rints))
{
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
/* #line 7098 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!flag_errno_math
)
	{
	  gimple_seq *lseq = seq;
	  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", 7103, __FILE__, __LINE__);
	  {
	    res_op->set_op (FIX_TRUNC_EXPR, type, 1);
	    res_op->ops[0] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail435:;
	}
    }
  return false;
}

static bool
gimple_simplify_203 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (div), const enum tree_code ARG_UNUSED (mod))
{
  gimple_seq *lseq = seq;
  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", 4227, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail436:;
  return false;
}

static bool
gimple_simplify_204 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 321 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 322, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail437;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail437:;
    }
  return false;
}

static bool
gimple_simplify_205 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1103, __FILE__, __LINE__);
  {
    tree tem;
    tem =  build_zero_cst (type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail438:;
  return false;
}

static bool
gimple_simplify_206 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 2698, __FILE__, __LINE__);
      {
	res_op->set_op (GT_EXPR, type, 2);
	res_op->ops[0] = captures[3];
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
	  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail439;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail439:;
    }
  return false;
}

static bool
gimple_simplify_207 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (pows), const combined_fn ARG_UNUSED (exps), const combined_fn ARG_UNUSED (logs), const combined_fn ARG_UNUSED (exp2s), const combined_fn ARG_UNUSED (log2s))
{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
/* #line 6625 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[0]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[0]))
 && canonicalize_math_after_vectorization_p ()
)
	{
	  {
/* #line 6634 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 const REAL_VALUE_TYPE *const value = TREE_REAL_CST_PTR (captures[0]);
 bool use_exp2 = false;
 if (targetm.libc_has_function (function_c99_misc, TREE_TYPE (captures[0]))
 && value->cl == rvc_normal)
 {
 REAL_VALUE_TYPE frac_rvt = *value;
 SET_REAL_EXP (&frac_rvt, 1);
 if (real_equal (&frac_rvt, &dconst1))
 use_exp2 = true;
 }
/* #line 6646 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (!use_exp2
)
		{
/* #line 6647 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (optimize_pow_to_exp (captures[0], captures[1])
)
		    {
		      gimple_seq *lseq = seq;
		      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", 6648, __FILE__, __LINE__);
		      {
			res_op->set_op (exps, type, 1);
			{
			  tree _o1[2], _r1;
			  {
			    tree _o2[1], _r2;
			    _o2[0] = captures[0];
			    gimple_match_op tem_op (res_op->cond.any_else (), logs, TREE_TYPE (_o2[0]), _o2[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail440;
			    _o1[0] = _r2;
			  }
			  _o1[1] = captures[1];
			  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail440;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail440:;
		    }
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  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", 6649, __FILE__, __LINE__);
		  {
		    res_op->set_op (exp2s, type, 1);
		    {
		      tree _o1[2], _r1;
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[0];
			gimple_match_op tem_op (res_op->cond.any_else (), log2s, TREE_TYPE (_o2[0]), _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail441;
			_o1[0] = _r2;
		      }
		      _o1[1] = captures[1];
		      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail441;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail441:;
		}
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_208 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (maxmin))
{
/* #line 7056 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (optimize
 && FLOAT_TYPE_P (type)
 && FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 && types_match (type, TREE_TYPE (captures[1]))
 && types_match (type, TREE_TYPE (captures[2]))
 && element_precision (type) < element_precision (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 7062, __FILE__, __LINE__);
      {
	res_op->set_op (maxmin, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail442:;
    }
  return false;
}

static bool
gimple_simplify_209 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 382 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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)
)
	{
	  gimple_seq *lseq = seq;
	  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", 399, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[1];
	      _o1[1] = captures[3];
	      gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail443;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail443:;
	}
      else
	{
	  gimple_seq *lseq = seq;
	  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", 400, __FILE__, __LINE__);
	  {
	    res_op->set_op (RSHIFT_EXPR, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[3];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail444:;
	}
    }
  return false;
}

static bool
gimple_simplify_210 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6360 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 6362, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail445:;
    }
  return false;
}

static bool
gimple_simplify_211 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (POPCOUNT))
{
/* #line 7730 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && wi::bit_and (tree_nonzero_bits (captures[1]), tree_nonzero_bits (captures[3])) == 0
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 7732, __FILE__, __LINE__);
      {
	res_op->set_op (POPCOUNT, type, 1);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[3];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail446;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail446:;
    }
  return false;
}

static bool
gimple_simplify_212 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2627 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      gimple_seq *lseq = seq;
      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", 2628, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (false, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail447:;
    }
  else
    {
/* #line 2629 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  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", 2630, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail448:;
	}
    }
  return false;
}

static bool
gimple_simplify_213 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2091 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 2092, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[1];
	    gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail449;
	    _o1[1] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail449;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail449:;
    }
  return false;
}

static bool
gimple_simplify_214 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 2902, __FILE__, __LINE__);
	  {
	    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
	    res_op->ops[0] = captures[1];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail450:;
	}
    }
  return false;
}

static bool
gimple_simplify_215 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5946 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 5952, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[2];
	  {
	    tree _o2[1], _r2;
	    {
	      tree _o3[1], _r3;
	      _o3[0] = captures[3];
	      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r3) goto next_after_fail451;
	      _o2[0] = _r3;
	    }
	    if (TREE_TYPE (_o1[0]) != TREE_TYPE (_o2[0])
	        && !useless_type_conversion_p (TREE_TYPE (_o1[0]), TREE_TYPE (_o2[0])))
	      {
		gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail451;
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail451;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[2]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail451:;
    }
  return false;
}

static bool
gimple_simplify_216 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 737 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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))
)
    {
      gimple_seq *lseq = seq;
      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", 741, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_zero_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail452:;
    }
  return false;
}

static bool
gimple_simplify_217 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1422, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail453:;
  return false;
}

static bool
gimple_simplify_218 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (bswap))
{
  {
/* #line 4369 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree ctype = TREE_TYPE (captures[1]);
      gimple_seq *lseq = seq;
      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", 4370, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (ctype != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (ctype, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, ctype, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail454;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  gimple_match_op tem_op (res_op->cond.any_else (), bswap, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (NULL, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, NULL);
	  if (!_r1) goto next_after_fail454;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail454:;
  }
  return false;
}

static bool
gimple_simplify_219 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (test1), const enum tree_code ARG_UNUSED (test2))
{
/* #line 5739 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 || VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 5741, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (false, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail455:;
    }
  return false;
}

static bool
gimple_simplify_220 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  gimple_seq *lseq = seq;
	  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", 1635, __FILE__, __LINE__);
	  {
	    res_op->set_op (op, type, 2);
	    res_op->ops[0] = captures[0];
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[6];
	      if (type != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail456;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail456:;
	}
      else
	{
/* #line 1636 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      gimple_seq *lseq = seq;
	      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", 1637, __FILE__, __LINE__);
	      {
		res_op->set_op (op, type, 2);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[3];
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail457;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[4];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail457:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_221 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (ovf))
{
/* #line 6424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
    {
      gimple_seq *lseq = seq;
      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", 6428, __FILE__, __LINE__);
      {
	res_op->set_op (ovf, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail458:;
    }
  return false;
}

static bool
gimple_simplify_222 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5293 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (single_use (captures[0]) && single_use (captures[2])
)
    {
      gimple_seq *lseq = seq;
      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", 5294, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[3];
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail459:;
    }
  return false;
}

static bool
gimple_simplify_223 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (bswap))
{
/* #line 4401 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree nst = build_int_cst (integer_type_node, prec - 8);
		  gimple_seq *lseq = seq;
		  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", 4420, __FILE__, __LINE__);
		  {
		    res_op->set_op (RSHIFT_EXPR, type, 2);
		    {
		      tree _o1[1], _r1;
		      {
			tree _o2[2], _r2;
			{
			  tree _o3[1], _r3;
			  _o3[0] = captures[1];
			  if (st != TREE_TYPE (_o3[0])
			      && !useless_type_conversion_p (st, TREE_TYPE (_o3[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, st, _o3[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r3) goto next_after_fail460;
			    }
			  else
			    _r3 = _o3[0];
			  _o2[0] = _r3;
			}
			_o2[1] = nst;
			gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, st, _o2[0], _o2[1]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail460;
			_o1[0] = _r2;
		      }
		      if (type != TREE_TYPE (_o1[0])
		          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail460;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[0] = _r1;
		    }
		    res_op->ops[1] = captures[2];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail460:;
	      }
	    }
	  else
	    {
/* #line 4421 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (bits + 8 == prec
)
		{
/* #line 4422 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (TYPE_UNSIGNED (st)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 4423, __FILE__, __LINE__);
		      {
			res_op->set_op (NOP_EXPR, type, 1);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[1];
			  if (unsigned_char_type_node != TREE_TYPE (_o1[0])
			      && !useless_type_conversion_p (unsigned_char_type_node, TREE_TYPE (_o1[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, unsigned_char_type_node, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail461;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail461:;
		    }
		  else
		    {
		      gimple_seq *lseq = seq;
		      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", 4424, __FILE__, __LINE__);
		      {
			res_op->set_op (NOP_EXPR, type, 1);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[1];
			  if (signed_char_type_node != TREE_TYPE (_o1[0])
			      && !useless_type_conversion_p (signed_char_type_node, TREE_TYPE (_o1[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, signed_char_type_node, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail462;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail462:;
		    }
		}
	      else
		{
/* #line 4425 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (bits < prec && bits + 8 > prec
)
		    {
		      {
/* #line 4426 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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;
			  gimple_seq *lseq = seq;
			  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", 4432, __FILE__, __LINE__);
			  {
			    res_op->set_op (NOP_EXPR, type, 1);
			    {
			      tree _o1[2], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[1];
				if (bt != TREE_TYPE (_o2[0])
				    && !useless_type_conversion_p (bt, TREE_TYPE (_o2[0])))
				  {
				    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, bt, _o2[0]);
				    tem_op.resimplify (lseq, valueize);
				    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				    if (!_r2) goto next_after_fail463;
				  }
				else
				  _r2 = _o2[0];
				_o1[0] = _r2;
			      }
			      _o1[1] = nst;
			      gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, bt, _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail463;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail463:;
		      }
		    }
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_224 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 314, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail464;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail464:;
    }
  return false;
}

static bool
gimple_simplify_225 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  {
/* #line 7810 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 unsigned prec = TYPE_PRECISION (type);
 int shift = (64 - prec) & 63;
 unsigned HOST_WIDE_INT c1
 = HOST_WIDE_INT_UC (0x0101010101010101) >> shift;
 unsigned HOST_WIDE_INT c2
 = HOST_WIDE_INT_UC (0x0F0F0F0F0F0F0F0F) >> shift;
 unsigned HOST_WIDE_INT c3
 = HOST_WIDE_INT_UC (0x3333333333333333) >> shift;
 unsigned HOST_WIDE_INT c4
 = HOST_WIDE_INT_UC (0x5555555555555555) >> shift;
/* #line 7821 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (prec >= 16
 && prec <= 64
 && pow2p_hwi (prec)
 && TYPE_UNSIGNED (type)
 && integer_onep (captures[5])
 && wi::to_widest (captures[7]) == 2
 && wi::to_widest (captures[1]) == 4
 && wi::to_widest (captures[11]) == prec - 8
 && tree_to_uhwi (captures[10]) == c1
 && tree_to_uhwi (captures[9]) == c2
 && tree_to_uhwi (captures[8]) == c3
 && tree_to_uhwi (captures[3]) == c3
 && tree_to_uhwi (captures[6]) == c4
)
	{
/* #line 7834 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (direct_internal_fn_supported_p (IFN_POPCOUNT, type,
 OPTIMIZE_FOR_BOTH)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 7836, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[4];
		  gimple_match_op tem_op (res_op->cond.any_else (), CFN_POPCOUNT, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail465;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail465:;
	    }
	  else
	    {
	      {
/* #line 7839 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree half_type = NULL_TREE;
 opt_machine_mode m = mode_for_size ((prec + 1) / 2, MODE_INT, 1);
 int half_prec = 8;
 if (m.exists ()
 && m.require () != TYPE_MODE (type))
 {
 half_prec = GET_MODE_PRECISION (as_a <scalar_int_mode> (m));
 half_type = build_nonstandard_integer_type (half_prec, 1);
 }
 gcc_assert (half_prec > 2);
/* #line 7851 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (half_type != NULL_TREE
 && direct_internal_fn_supported_p (IFN_POPCOUNT, half_type,
 OPTIMIZE_FOR_BOTH)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 7854, __FILE__, __LINE__);
		      {
			res_op->set_op (NOP_EXPR, type, 1);
			{
			  tree _o1[2], _r1;
			  {
			    tree _o2[1], _r2;
			    {
			      tree _o3[1], _r3;
			      _o3[0] = captures[4];
			      if (half_type != TREE_TYPE (_o3[0])
			          && !useless_type_conversion_p (half_type, TREE_TYPE (_o3[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, half_type, _o3[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r3) goto next_after_fail466;
			        }
			      else
			        _r3 = _o3[0];
			      _o2[0] = _r3;
			    }
			    gimple_match_op tem_op (res_op->cond.any_else (), CFN_POPCOUNT, half_type, _o2[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail466;
			    _o1[0] = _r2;
			  }
			  {
			    tree _o2[1], _r2;
			    {
			      tree _o3[1], _r3;
			      {
				tree _o4[2], _r4;
				_o4[0] = captures[4];
				_o4[1] =  build_int_cst (integer_type_node, half_prec);
				gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
				tem_op.resimplify (lseq, valueize);
				_r4 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r4) goto next_after_fail466;
				_o3[0] = _r4;
			      }
			      if (half_type != TREE_TYPE (_o3[0])
			          && !useless_type_conversion_p (half_type, TREE_TYPE (_o3[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, half_type, _o3[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r3) goto next_after_fail466;
			        }
			      else
			        _r3 = _o3[0];
			      _o2[0] = _r3;
			    }
			    gimple_match_op tem_op (res_op->cond.any_else (), CFN_POPCOUNT, half_type, _o2[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail466;
			    _o1[1] = _r2;
			  }
			  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail466;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail466:;
		    }
	      }
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_226 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 340, __FILE__, __LINE__);
      {
	res_op->set_op (COPYSIGN_ALL, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail467;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail467:;
    }
  return false;
}

static bool
gimple_simplify_227 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 8495 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (VECTOR_FLOAT_TYPE_P (type)
 && TYPE_VECTOR_SUBPARTS (type).is_constant ()
)
    {
      {
/* #line 8497 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 8528 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (full_perm_p
)
	    {
	      gimple_seq *lseq = seq;
	      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", 8529, __FILE__, __LINE__);
	      {
		res_op->set_op (VEC_PERM_EXPR, type, 3);
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[2];
		  gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail468;
		  captures[3] = _r1;
		}
		res_op->ops[0] = captures[3];
		res_op->ops[1] = captures[3];
		res_op->ops[2] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail468:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_228 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree res = int_const_binop (rop, captures[3], captures[2]);
/* #line 7369 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (TREE_OVERFLOW (res)
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
)
	    {
	      gimple_seq *lseq = seq;
	      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", 7371, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == NE_EXPR, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail469:;
	    }
	  else
	    {
/* #line 7372 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (single_use (captures[0])
)
		{
		  gimple_seq *lseq = seq;
		  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", 7373, __FILE__, __LINE__);
		  {
		    res_op->set_op (cmp, type, 2);
		    res_op->ops[0] = captures[1];
		    res_op->ops[1] =  TREE_OVERFLOW (res)
 ? drop_tree_overflow (res) : res;
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail470:;
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_229 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5020 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 5021, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail471:;
    }
  return false;
}

static bool
gimple_simplify_230 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 3971 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree shift_type = TREE_TYPE (captures[2]);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[1])))
	    lseq = NULL;
	  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", 3977, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		if (shift_type != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (shift_type, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, shift_type, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail472;
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] = captures[4];
	      gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail472;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail472:;
      }
    }
  return false;
}

static bool
gimple_simplify_231 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 6828, __FILE__, __LINE__);
      {
	res_op->set_op (TANH, type, 1);
	res_op->ops[0] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail473:;
    }
  return false;
}

static bool
gimple_simplify_232 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  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", 5943, __FILE__, __LINE__);
  {
    res_op->set_op (cmp, type, 2);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[0];
      {
	tree _o2[1], _r2;
	_o2[0] = captures[1];
	gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	tem_op.resimplify (NULL, valueize);
	_r2 = maybe_push_res_to_seq (&tem_op, NULL);
	if (!_r2) goto next_after_fail474;
	_o1[1] = _r2;
      }
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail474;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[0]));
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail474:;
  return false;
}

static bool
gimple_simplify_233 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree res = int_const_binop (rop, captures[3], captures[2]);
/* #line 7383 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (TREE_OVERFLOW (res)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 7384, __FILE__, __LINE__);
	      {
		tree tem;
 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);		tem = 
 constant_boolean_node (less == ovf_high, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail475:;
	    }
	  else
	    {
/* #line 7395 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (single_use (captures[0])
)
		{
		  {
/* #line 7396 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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);
		      gimple_seq *lseq = seq;
		      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", 7403, __FILE__, __LINE__);
		      {
			res_op->set_op (cmp, type, 2);
			res_op->ops[0] = captures[1];
			res_op->ops[1] =  res;
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail476:;
		  }
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_234 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop))
{
  {
/* #line 1279 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (utype
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[1])))
	    lseq = NULL;
	  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", 1285, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[0];
		  if (utype != TREE_TYPE (_o3[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r3) goto next_after_fail477;
		    }
		  else
		    _r3 = _o3[0];
		  _o2[0] = _r3;
		}
		gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail477;
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[4];
		if (utype != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail477;
		  }
		else
		  _r2 = _o2[0];
		_o1[1] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail477;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail477:;
	}
  }
  return false;
}

static bool
gimple_simplify_235 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7578, __FILE__, __LINE__);
      {
	res_op->set_op (CFN_FNMS, type, 3);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->ops[2] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail478:;
    }
  return false;
}

static bool
gimple_simplify_236 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (types_match (type, TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 5151, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail479:;
    }
  return false;
}

static bool
gimple_simplify_237 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (TYPE_UNSIGNED (type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 1684, __FILE__, __LINE__);
	  {
	    res_op->set_op (ABSU_EXPR, type, 1);
	    res_op->ops[0] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail480:;
	}
      else
	{
	  gimple_seq *lseq = seq;
	  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", 1685, __FILE__, __LINE__);
	  {
	    res_op->set_op (ABS_EXPR, type, 1);
	    res_op->ops[0] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail481:;
	}
    }
  return false;
}

static bool
gimple_simplify_238 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 3432 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TREE_CODE (type) != COMPLEX_TYPE
 && (! ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_UNDEFINED (type))
)
    {
      gimple_seq *lseq = seq;
      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", 3435, __FILE__, __LINE__);
      {
	res_op->set_op (ABS_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail482:;
    }
  return false;
}

static bool
gimple_simplify_239 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 5964, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[1];
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[2];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[3];
	    if (TREE_TYPE (res_op->ops[0]) != TREE_TYPE (_o2[0])
	        && !useless_type_conversion_p (TREE_TYPE (res_op->ops[0]), TREE_TYPE (_o2[0])))
	      {
		gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (res_op->ops[0]), _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail483;
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail483;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail483:;
    }
  return false;
}

static bool
gimple_simplify_240 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2681 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      gimple_seq *lseq = seq;
      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", 2682, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail484:;
    }
  else
    {
/* #line 2683 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  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", 2684, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem =  constant_boolean_node (true, type);
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail485:;
	}
    }
  return false;
}

static bool
gimple_simplify_241 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  gimple_seq *lseq = seq;
  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", 1861, __FILE__, __LINE__);
  {
    res_op->set_op (bitop, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail486:;
  return false;
}

static bool
gimple_simplify_242 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5995 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])
)
    {
      gimple_seq *lseq = seq;
      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", 5998, __FILE__, __LINE__);
      {
	res_op->set_op (ncmp, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[2];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail487;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail487:;
    }
  return false;
}

static bool
gimple_simplify_243 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  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", 3605, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (cmp == GE_EXPR || cmp == LE_EXPR, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail488:;
  return false;
}

static bool
gimple_simplify_244 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 8368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TREE_CODE (captures[1]) == SSA_NAME && num_imm_uses (captures[1]) == 2
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])))
        lseq = NULL;
      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", 8369, __FILE__, __LINE__);
      {
	res_op->set_op (MINUS_EXPR, type, 2);
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[3], _r2;
	    _o2[0] = captures[2];
	    _o2[1] = captures[2];
	    _o2[2] = captures[4];
	    gimple_match_op tem_op (res_op->cond.any_else (), VEC_PERM_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1], _o2[2]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail489;
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[3];
	  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail489;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[5];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail489:;
    }
  return false;
}

static bool
gimple_simplify_245 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (comb))
{
  gimple_seq *lseq = seq;
  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", 3595, __FILE__, __LINE__);
  {
    res_op->set_op (comb, type, 2);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[0];
      _o1[1] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), cmp, type, _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail490;
      res_op->ops[0] = _r1;
    }
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), cmp, type, _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail490;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail490:;
  return false;
}

static bool
gimple_simplify_246 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (minmax))
{
  gimple_seq *lseq = seq;
  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", 3414, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail491:;
  return false;
}

static bool
gimple_simplify_247 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (cmp2))
{
/* #line 5692 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (small || large
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5706, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[0];
		  if (utype != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail492;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[1];
		    if (TREE_TYPE (res_op->ops[0]) != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (TREE_TYPE (res_op->ops[0]), TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (res_op->ops[0]), _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail492;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail492;
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail492:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 5707, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp2, type, 2);
		res_op->ops[0] = captures[0];
		res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[0]));
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail493:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_248 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (uncond_op), const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 7985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7986 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (vectorized_internal_fn_supported_p (as_internal_fn (cond_op), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
	{
	  gimple_seq *lseq = seq;
	  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", 7989, __FILE__, __LINE__);
	  {
	    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
	    {
	      tree _o1[5], _r1;
	      _o1[0] = captures[0];
	      _o1[1] = captures[2];
	      _o1[2] = captures[3];
	      _o1[3] = captures[4];
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[5];
		gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail494;
		_o1[4] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), cond_op, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3], _o1[4]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail494;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail494:;
	}
  }
  return false;
}

static bool
gimple_simplify_249 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  gimple_seq *lseq = seq;
  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", 1450, __FILE__, __LINE__);
  {
    res_op->set_op (bitop, type, 2);
    res_op->ops[0] = captures[1];
    res_op->ops[1] = captures[2];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail495:;
  return false;
}

static bool
gimple_simplify_250 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (bswap))
{
  gimple_seq *lseq = seq;
  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", 4354, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail496:;
  return false;
}

static bool
gimple_simplify_251 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2885 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!TYPE_OVERFLOW_SANITIZED (type)
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
)
	{
	  gimple_seq *lseq = seq;
	  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", 2887, __FILE__, __LINE__);
	  {
	    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
	    res_op->ops[0] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail497:;
	}
    }
  return false;
}

static bool
gimple_simplify_252 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (ovf))
{
/* #line 6417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
    {
      gimple_seq *lseq = seq;
      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", 6421, __FILE__, __LINE__);
      {
	res_op->set_op (ovf, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail498:;
    }
  return false;
}

static bool
gimple_simplify_253 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 2348, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	res_op->ops[0] = captures[3];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail499:;
    }
  return false;
}

static bool
gimple_simplify_254 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 314, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail500;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail500:;
    }
  return false;
}

static bool
gimple_simplify_255 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 786 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])
              || !single_use (captures[3])))
        lseq = NULL;
      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", 787, __FILE__, __LINE__);
      {
	res_op->set_op (MINUS_EXPR, type, 2);
	res_op->ops[0] = captures[1];
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[4];
	  _o1[1] = captures[1];
	  gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail501;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail501:;
    }
  return false;
}

static bool
gimple_simplify_256 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 5995 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])
)
    {
      gimple_seq *lseq = seq;
      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", 5998, __FILE__, __LINE__);
      {
	res_op->set_op (ncmp, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[2];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail502;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail502:;
    }
  return false;
}

static bool
gimple_simplify_257 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6027 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
/* #line 6035 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (cmp == LT_EXPR
)
	    {
	      gimple_seq *lseq = seq;
	      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", 6036, __FILE__, __LINE__);
	      {
		res_op->set_op (BIT_XOR_EXPR, type, 2);
		{
		  tree _o1[1], _r1;
		  {
		    tree _o2[2], _r2;
		    _o2[0] = captures[0];
		    _o2[1] = shifter;
		    gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail503;
		    _o1[0] = _r2;
		  }
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail503;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail503:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 6037, __FILE__, __LINE__);
	      {
		res_op->set_op (BIT_NOT_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    {
		      tree _o3[2], _r3;
		      _o3[0] = captures[0];
		      _o3[1] = shifter;
		      gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		      tem_op.resimplify (lseq, valueize);
		      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r3) goto next_after_fail504;
		      _o2[0] = _r3;
		    }
		    if (type != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail504;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  _o1[1] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail504;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail504:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_258 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2095 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 2096, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[1];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail505;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail505:;
    }
  return false;
}

static bool
gimple_simplify_259 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 327 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 328, __FILE__, __LINE__);
      {
	res_op->set_op (ABS_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail506:;
    }
  return false;
}

static bool
gimple_simplify_260 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (acmp))
{
  {
/* #line 5103 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree cst = uniform_integer_cst_p (captures[1]);
/* #line 5104 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (tree_int_cst_sgn (cst) == 1
)
	{
	  gimple_seq *lseq = seq;
	  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", 5105, __FILE__, __LINE__);
	  {
	    res_op->set_op (acmp, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] =  build_uniform_cst (TREE_TYPE (captures[1]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst) - 1));
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail507:;
	}
  }
  return false;
}

static bool
gimple_simplify_261 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (val <= 0
)
	{
/* #line 7693 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (ok && (!zero_res || zero_val >= val)
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      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", 7694, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == EQ_EXPR ? true : false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail508:;
	    }
	}
      else
	{
/* #line 7695 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (val >= prec
)
	    {
/* #line 7696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (ok && (!zero_res || zero_val < val)
)
		{
		  gimple_seq *lseq = seq;
		  if (lseq
		      && (!single_use (captures[0])))
		    lseq = NULL;
		  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", 7697, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail509:;
		}
	    }
	  else
	    {
/* #line 7698 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (ok && (!zero_res || zero_val < 0 || zero_val >= prec)
)
		{
		  gimple_seq *lseq = seq;
		  if (lseq
		      && (!single_use (captures[0])))
		    lseq = NULL;
		  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", 7699, __FILE__, __LINE__);
		  {
		    res_op->set_op (cmp, type, 2);
		    {
		      tree _o1[2], _r1;
		      _o1[0] = captures[1];
		      _o1[1] =  wide_int_to_tree (type0,
 wi::mask (val, false, prec));
		      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail510;
		      res_op->ops[0] = _r1;
		    }
		    res_op->ops[1] =  build_zero_cst (type0);
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail510:;
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_262 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 5025, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail511:;
    }
  return false;
}

static bool
gimple_simplify_263 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 2188 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[0]));
	  gimple_seq *lseq = seq;
	  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", 2194, __FILE__, __LINE__);
	  {
	    res_op->set_op (icmp, type, 2);
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[0];
	      if (stype != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (stype, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, stype, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail512;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] =  build_int_cst (stype, 0);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail512:;
      }
    }
  return false;
}

static bool
gimple_simplify_264 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 2066, __FILE__, __LINE__);
  {
    res_op->set_op (PLUS_EXPR, type, 2);
    {
      tree _o1[1], _r1;
      _o1[0] = captures[0];
      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail513;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] =  build_each_one_cst (type);
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail513:;
  return false;
}

static bool
gimple_simplify_265 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3574 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
 TYPE_SIGN (TREE_TYPE (captures[0])))
)
    {
      gimple_seq *lseq = seq;
      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", 3576, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == NE_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail514:;
    }
  else
    {
/* #line 3577 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
 TYPE_SIGN (TREE_TYPE (captures[0])))
)
	{
	  gimple_seq *lseq = seq;
	  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", 3579, __FILE__, __LINE__);
	  {
	    res_op->set_op (cmp, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[2];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail515:;
	}
    }
  return false;
}

static bool
gimple_simplify_266 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 2937, __FILE__, __LINE__);
	  {
	    res_op->set_op (PLUS_EXPR, type, 2);
	    res_op->ops[0] = captures[1];
	    res_op->ops[1] = captures[2];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail516:;
	}
    }
  return false;
}

static bool
gimple_simplify_267 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5653 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!integer_zerop (captures[1])
)
    {
/* #line 5654 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (wi::to_wide (captures[2]) == 0
)
	{
	  gimple_seq *lseq = seq;
	  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", 5655, __FILE__, __LINE__);
	  {
	    res_op->set_op (cmp, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[2];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail517:;
	}
      else
	{
/* #line 5656 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (TREE_CODE (captures[1]) == INTEGER_CST
)
	    {
	      {
/* #line 5657 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (ovf
)
		    {
		      gimple_seq *lseq = seq;
		      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", 5664, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (cmp == NE_EXPR, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail518:;
		    }
		  else
		    {
		      gimple_seq *lseq = seq;
		      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", 5665, __FILE__, __LINE__);
		      {
			res_op->set_op (cmp, type, 2);
			res_op->ops[0] = captures[0];
			res_op->ops[1] =  wide_int_to_tree (TREE_TYPE (captures[0]), prod);
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail519:;
		    }
	      }
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_268 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7081, __FILE__, __LINE__);
      {
	res_op->set_op (tos, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail520:;
    }
  return false;
}

static bool
gimple_simplify_269 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (div))
{
/* #line 420 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && ssa_name_has_boolean_range (captures[1])
 && !flag_non_call_exceptions
)
    {
      gimple_seq *lseq = seq;
      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", 423, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail521:;
    }
  return false;
}

static bool
gimple_simplify_270 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3367 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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])));
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[3])))
	    lseq = NULL;
	  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", 3373, __FILE__, __LINE__);
	  {
	    res_op->set_op (MULT_EXPR, type, 2);
	    res_op->ops[0] = captures[1];
	    res_op->ops[1] =  wide_int_to_tree (type, c);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail522:;
      }
    }
  return false;
}

static bool
gimple_simplify_271 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 2013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (invert_tree_comparison (cmp, HONOR_NANS (captures[2])) == icmp
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[5])))
        lseq = NULL;
      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", 2014, __FILE__, __LINE__);
      {
	res_op->set_op (VEC_COND_EXPR, type, 3);
	res_op->ops[0] = captures[1];
	res_op->ops[1] = captures[4];
	res_op->ops[2] = captures[7];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail523:;
    }
  return false;
}

static bool
gimple_simplify_272 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3829 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if ((c2 & c3) != c3
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[1])))
	        lseq = NULL;
	      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", 3839, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == NE_EXPR, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail524:;
	    }
	  else
	    {
/* #line 3840 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (TYPE_UNSIGNED (t0)
)
		{
/* #line 3841 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if ((c3 & wi::arshift (sb, c1 - 1)) != 0
)
		    {
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])
		              || !single_use (captures[1])))
		        lseq = NULL;
		      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", 3842, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (cmp == NE_EXPR, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail525:;
		    }
		  else
		    {
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])
		              || !single_use (captures[1])))
		        lseq = NULL;
		      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", 3843, __FILE__, __LINE__);
		      {
			res_op->set_op (cmp, type, 2);
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[2];
			  _o1[1] =  wide_int_to_tree (t0, c2 << c1);
			  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail526;
			  res_op->ops[0] = _r1;
			}
			res_op->ops[1] =  wide_int_to_tree (t0, c3 << c1);
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail526:;
		    }
		}
	      else
		{
		  {
/* #line 3845 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 wide_int smask = wi::arshift (sb, c1);
/* #line 3847 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if ((c2 & smask) == 0
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[0])
			          || !single_use (captures[1])))
			    lseq = NULL;
			  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", 3848, __FILE__, __LINE__);
			  {
			    res_op->set_op (cmp, type, 2);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[2];
			      _o1[1] =  wide_int_to_tree (t0, c2 << c1);
			      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail527;
			      res_op->ops[0] = _r1;
			    }
			    res_op->ops[1] =  wide_int_to_tree (t0, c3 << c1);
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail527:;
			}
		      else
			{
/* #line 3850 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if ((c3 & smask) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (lseq
			          && (!single_use (captures[0])
			              || !single_use (captures[1])))
			        lseq = NULL;
			      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", 3851, __FILE__, __LINE__);
			      {
				res_op->set_op (cmp, type, 2);
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[2];
				  _o1[1] =  wide_int_to_tree (t0, (c2 << c1) | sb);
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail528;
				  res_op->ops[0] = _r1;
				}
				res_op->ops[1] =  wide_int_to_tree (t0, c3 << c1);
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail528:;
			    }
			  else
			    {
/* #line 3853 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if ((c2 & smask) != (c3 & smask)
)
				{
				  gimple_seq *lseq = seq;
				  if (lseq
				      && (!single_use (captures[0])
				          || !single_use (captures[1])))
				    lseq = NULL;
				  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", 3854, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (cmp == NE_EXPR, type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail529:;
				}
			      else
				{
				  gimple_seq *lseq = seq;
				  if (lseq
				      && (!single_use (captures[0])
				          || !single_use (captures[1])))
				    lseq = NULL;
				  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", 3855, __FILE__, __LINE__);
				  {
				    res_op->set_op (cmp, type, 2);
				    {
				      tree _o1[2], _r1;
				      _o1[0] = captures[2];
				      _o1[1] =  wide_int_to_tree (t0, (c2 << c1) | sb);
				      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail530;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] =  wide_int_to_tree (t0, (c3 << c1) | sb);
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail530:;
				}
			    }
			}
		  }
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_273 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (SCALAR_FLOAT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 6701, __FILE__, __LINE__);
	  {
	    res_op->set_op (COND_EXPR, type, 3);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[1];
		gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail531;
		_o1[0] = _r2;
	      }
	      _o1[1] =  t_cst;
	      gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail531;
	      res_op->ops[0] = _r1;
	    }
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[1];
	      {
		tree _o2[1], _r2;
		{
		  tree _o3[2], _r3;
		  {
		    tree _o4[2], _r4;
		    _o4[0] = captures[1];
		    _o4[1] = captures[1];
		    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r4 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r4) goto next_after_fail531;
		    _o3[0] = _r4;
		  }
		  _o3[1] =  t_one;
		  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r3) goto next_after_fail531;
		  _o2[0] = _r3;
		}
		gimple_match_op tem_op (res_op->cond.any_else (), sqrts, TREE_TYPE (_o2[0]), _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail531;
		_o1[1] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail531;
	      res_op->ops[1] = _r1;
	    }
	    {
	      tree _o1[2], _r1;
	      _o1[0] =  t_one;
	      _o1[1] = captures[1];
	      gimple_match_op tem_op (res_op->cond.any_else (), copysigns, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail531;
	      res_op->ops[2] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail531:;
	}
  }
  return false;
}

static bool
gimple_simplify_274 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (div))
{
/* #line 436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 440, __FILE__, __LINE__);
      {
	res_op->set_op (COND_EXPR, type, 3);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] =  build_zero_cst (type);
	  gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail532;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_minus_one_cst (type);
	res_op->ops[2] =  build_one_cst (type);
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail532:;
    }
  return false;
}

static bool
gimple_simplify_275 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bit_op), const enum tree_code ARG_UNUSED (shift))
{
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      {
/* #line 3964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
/* #line 3965 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (mask
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[1])))
	        lseq = NULL;
	      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", 3966, __FILE__, __LINE__);
	      {
		res_op->set_op (bit_op, type, 2);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (type != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail533;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  _o1[1] = captures[4];
		  gimple_match_op tem_op (res_op->cond.any_else (), shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail533;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] =  mask;
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail533:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_276 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7600, __FILE__, __LINE__);
      {
	res_op->set_op (CFN_FMA, type, 3);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->ops[2] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail534:;
    }
  return false;
}

static bool
gimple_simplify_277 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3399 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 3407, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[1];
		if (t != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (t, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, t, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail535;
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] =  wide_int_to_tree (t, c);
	      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, t, _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail535;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail535:;
      }
    }
  return false;
}

static bool
gimple_simplify_278 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1195, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail536:;
  return false;
}

static bool
gimple_simplify_279 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1153 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (~wi::to_wide (captures[1]) == wi::to_wide (captures[2])
)
    {
      gimple_seq *lseq = seq;
      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", 1154, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_XOR_EXPR, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail537:;
    }
  return false;
}

static bool
gimple_simplify_280 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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,
0
);
/* #line 3497 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3498 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3499 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  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", 3500, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail538:;
		}
	      else
		{
/* #line 3501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 3502, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail539:;
		    }
		}
	    }
	  else
	    {
/* #line 3503 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  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", 3504, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail540:;
		}
	      else
		{
/* #line 3505 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 3506, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail541:;
		    }
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_281 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3654 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && TYPE_PRECISION (type) > 1
 && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])))
)
    {
      gimple_seq *lseq = seq;
      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", 3657, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    {
	      tree _o3[1], _r3;
	      _o3[0] = captures[0];
	      if (type != TREE_TYPE (_o3[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o3[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o3[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r3) goto next_after_fail542;
	        }
	      else
	        _r3 = _o3[0];
	      _o2[0] = _r3;
	    }
	    gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail542;
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[1];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail542;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail542:;
    }
  return false;
}

static bool
gimple_simplify_282 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6378 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
)
    {
      gimple_seq *lseq = seq;
      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", 6380, __FILE__, __LINE__);
      {
	res_op->set_op (out, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail543;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail543:;
    }
  return false;
}

static bool
gimple_simplify_283 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 2663, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (true, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail544:;
  return false;
}

static bool
gimple_simplify_284 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 5025, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail545:;
    }
  return false;
}

static bool
gimple_simplify_285 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (SCALAR_FLOAT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 6721, __FILE__, __LINE__);
	  {
	    res_op->set_op (COND_EXPR, type, 3);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[1];
		gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail546;
		_o1[0] = _r2;
	      }
	      _o1[1] =  t_cst;
	      gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail546;
	      res_op->ops[0] = _r1;
	    }
	    {
	      tree _o1[2], _r1;
	      _o1[0] =  t_one;
	      {
		tree _o2[1], _r2;
		{
		  tree _o3[2], _r3;
		  {
		    tree _o4[2], _r4;
		    _o4[0] = captures[1];
		    _o4[1] = captures[1];
		    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r4 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r4) goto next_after_fail546;
		    _o3[0] = _r4;
		  }
		  _o3[1] =  t_one;
		  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r3) goto next_after_fail546;
		  _o2[0] = _r3;
		}
		gimple_match_op tem_op (res_op->cond.any_else (), sqrts, TREE_TYPE (_o2[0]), _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail546;
		_o1[1] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail546;
	      res_op->ops[1] = _r1;
	    }
	    {
	      tree _o1[2], _r1;
	      _o1[0] =  t_zero;
	      _o1[1] = captures[1];
	      gimple_match_op tem_op (res_op->cond.any_else (), copysigns, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail546;
	      res_op->ops[2] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail546:;
	}
  }
  return false;
}

static bool
gimple_simplify_286 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 606 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (FLOAT_TYPE_P (type)
 && ! HONOR_NANS (type)
 && ! HONOR_INFINITIES (type)
)
    {
      gimple_seq *lseq = seq;
      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", 609, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_minus_one_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail547:;
    }
  return false;
}

static bool
gimple_simplify_287 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 2334, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	res_op->ops[0] = captures[2];
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail548:;
    }
  return false;
}

static bool
gimple_simplify_288 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3148 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  gimple_seq *lseq = seq;
		  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", 3152, __FILE__, __LINE__);
		  {
		    res_op->set_op (NOP_EXPR, type, 1);
		    {
		      tree _o1[1], _r1;
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[1];
			if (utype != TREE_TYPE (_o2[0])
			    && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
			  {
			    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail549;
			  }
			else
			  _r2 = _o2[0];
			_o1[0] = _r2;
		      }
		      gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail549;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail549:;
	      }
	    }
	  else
	    {
/* #line 3153 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
		{
		  gimple_seq *lseq = seq;
		  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", 3163, __FILE__, __LINE__);
		  {
		    res_op->set_op (NEGATE_EXPR, type, 1);
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[1];
		      if (type != TREE_TYPE (_o1[0])
		          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail550;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail550:;
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_289 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 6091 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (integer_pow2p (captures[1])
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 6093 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (shift >= 0
)
	    {
	      gimple_seq *lseq = seq;
	      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", 6097, __FILE__, __LINE__);
	      {
		res_op->set_op (BIT_AND_EXPR, type, 2);
		{
		  tree _o1[1], _r1;
		  {
		    tree _o2[2], _r2;
		    _o2[0] = captures[0];
		    _o2[1] =  build_int_cst (integer_type_node, shift);
		    gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail551;
		    _o1[0] = _r2;
		  }
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail551;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail551:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 6102, __FILE__, __LINE__);
	      {
		res_op->set_op (BIT_AND_EXPR, type, 2);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[0];
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail552;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail552:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_290 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (POW))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[1])))
        lseq = NULL;
      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", 6878, __FILE__, __LINE__);
      {
	res_op->set_op (MULT_EXPR, type, 2);
	res_op->ops[0] = captures[0];
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[2];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[3];
	    gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail553;
	    _o1[1] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), POW, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail553;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail553:;
    }
  return false;
}

static bool
gimple_simplify_291 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (eqcmp))
{
/* #line 5757 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5768, __FILE__, __LINE__);
	      {
		res_op->set_op (eqcmp, type, 2);
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[1];
		  _o1[1] =  wide_int_to_tree (ty, mask - rhs);
		  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail554;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] =  build_zero_cst (ty);
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail554:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_292 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 314, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail555;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail555:;
    }
  return false;
}

static bool
gimple_simplify_293 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 5312, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] =  build_real (TREE_TYPE (captures[1]), dconst0);
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail556:;
    }
  else
    {
/* #line 5314 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (TREE_CODE (captures[0]) == REAL_CST
 && REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[0]))
)
	{
	  gimple_seq *lseq = seq;
	  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", 5316, __FILE__, __LINE__);
	  {
	    res_op->set_op (cmp, type, 2);
	    res_op->ops[0] =  build_real (TREE_TYPE (captures[0]), dconst0);
	    res_op->ops[1] = captures[1];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail557:;
	}
      else
	{
/* #line 5318 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5322, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == NE_EXPR, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail558:;
	    }
	  else
	    {
/* #line 5324 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])
)
		{
		  gimple_seq *lseq = seq;
		  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", 5329, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (cmp == NE_EXPR, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail559:;
		}
	      else
		{
/* #line 5331 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (code == GT_EXPR
 && !(HONOR_NANS (captures[0]) && flag_trapping_math)
)
			    {
			      gimple_seq *lseq = seq;
			      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", 5345, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  constant_boolean_node (false, type);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail560:;
			    }
			  else
			    {
/* #line 5346 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (code == LE_EXPR
)
				{
/* #line 5348 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (! HONOR_NANS (captures[0])
)
				    {
				      gimple_seq *lseq = seq;
				      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", 5349, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  constant_boolean_node (true, type);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail561:;
				    }
				  else
				    {
/* #line 5352 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (!flag_trapping_math
)
					{
					  gimple_seq *lseq = seq;
					  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", 5353, __FILE__, __LINE__);
					  {
					    res_op->set_op (EQ_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    res_op->ops[1] = captures[0];
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail562:;
					}
				    }
				}
			      else
				{
/* #line 5356 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if ((code == EQ_EXPR && !(HONOR_NANS (captures[0]) && flag_trapping_math))
 || code == GE_EXPR
)
				    {
				      {
/* #line 5358 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 5359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  if (neg
)
					    {
					      gimple_seq *lseq = seq;
					      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", 5360, __FILE__, __LINE__);
					      {
						res_op->set_op (LT_EXPR, type, 2);
						res_op->ops[0] = captures[0];
						res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), max);
						res_op->resimplify (lseq, valueize);
						return true;
					      }
next_after_fail563:;
					    }
					  else
					    {
					      gimple_seq *lseq = seq;
					      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", 5361, __FILE__, __LINE__);
					      {
						res_op->set_op (GT_EXPR, type, 2);
						res_op->ops[0] = captures[0];
						res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), max);
						res_op->resimplify (lseq, valueize);
						return true;
					      }
next_after_fail564:;
					    }
				      }
				    }
				  else
				    {
/* #line 5363 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (code == LT_EXPR
)
					{
					  {
/* #line 5364 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 5365 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (neg
)
						{
						  gimple_seq *lseq = seq;
						  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", 5366, __FILE__, __LINE__);
						  {
						    res_op->set_op (GE_EXPR, type, 2);
						    res_op->ops[0] = captures[0];
						    res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), max);
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail565:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  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", 5367, __FILE__, __LINE__);
						  {
						    res_op->set_op (LE_EXPR, type, 2);
						    res_op->ops[0] = captures[0];
						    res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), max);
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail566:;
						}
					  }
					}
				      else
					{
/* #line 5370 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  if (code == NE_EXPR
)
					    {
					      {
/* #line 5371 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
/* #line 5372 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (! HONOR_NANS (captures[0])
)
						    {
/* #line 5373 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      if (neg
)
							{
							  gimple_seq *lseq = seq;
							  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", 5374, __FILE__, __LINE__);
							  {
							    res_op->set_op (GE_EXPR, type, 2);
							    res_op->ops[0] = captures[0];
							    res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), max);
							    res_op->resimplify (lseq, valueize);
							    return true;
							  }
next_after_fail567:;
							}
						      else
							{
							  gimple_seq *lseq = seq;
							  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", 5375, __FILE__, __LINE__);
							  {
							    res_op->set_op (LE_EXPR, type, 2);
							    res_op->ops[0] = captures[0];
							    res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), max);
							    res_op->resimplify (lseq, valueize);
							    return true;
							  }
next_after_fail568:;
							}
						    }
						  else
						    {
/* #line 5376 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      if (neg
)
							{
							  gimple_seq *lseq = seq;
							  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", 5377, __FILE__, __LINE__);
							  {
							    res_op->set_op (UNGE_EXPR, type, 2);
							    res_op->ops[0] = captures[0];
							    res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), max);
							    res_op->resimplify (lseq, valueize);
							    return true;
							  }
next_after_fail569:;
							}
						      else
							{
							  gimple_seq *lseq = seq;
							  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", 5378, __FILE__, __LINE__);
							  {
							    res_op->set_op (UNLE_EXPR, type, 2);
							    res_op->ops[0] = captures[0];
							    res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), max);
							    res_op->resimplify (lseq, valueize);
							    return true;
							  }
next_after_fail570:;
							}
						    }
					      }
					    }
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_294 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (pfun))
{
/* #line 7763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
)
    {
      {
/* #line 7764 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 wide_int nz = tree_nonzero_bits (captures[0]);
/* #line 7766 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (nz == 1
)
	    {
	      gimple_seq *lseq = seq;
	      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", 7767, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		res_op->ops[0] = captures[0];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail571:;
	    }
	  else
	    {
/* #line 7768 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (wi::popcount (nz) == 1
)
		{
		  {
/* #line 7769 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
		      gimple_seq *lseq = seq;
		      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", 7770, __FILE__, __LINE__);
		      {
			res_op->set_op (NOP_EXPR, type, 1);
			{
			  tree _o1[2], _r1;
			  {
			    tree _o2[1], _r2;
			    _o2[0] = captures[0];
			    if (utype != TREE_TYPE (_o2[0])
			        && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
			      {
				gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail572;
			      }
			    else
			      _r2 = _o2[0];
			    _o1[0] = _r2;
			  }
			  _o1[1] =  build_int_cst (integer_type_node,
 wi::ctz (nz));
			  gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, utype, _o1[0], _o1[1]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail572;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail572:;
		  }
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_295 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1727 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 1729, __FILE__, __LINE__);
      {
	res_op->set_op (MINUS_EXPR, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail573;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail573:;
    }
  return false;
}

static bool
gimple_simplify_296 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6176 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (wi::to_wide (cst) == max
)
	    {
/* #line 6192 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == GT_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  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", 6193, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (false, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail574:;
		}
	      else
		{
/* #line 6194 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == GE_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      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", 6195, __FILE__, __LINE__);
		      {
			res_op->set_op (EQ_EXPR, type, 2);
			res_op->ops[0] = captures[0];
			res_op->ops[1] = captures[2];
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail575:;
		    }
		  else
		    {
/* #line 6196 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  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", 6197, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (true, type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail576:;
			}
		      else
			{
/* #line 6198 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == LT_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6199, __FILE__, __LINE__);
			      {
				res_op->set_op (NE_EXPR, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] = captures[2];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail577:;
			    }
			}
		    }
		}
	    }
	  else
	    {
/* #line 6200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (wi::to_wide (cst) == min
)
		{
/* #line 6202 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == LT_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      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", 6203, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (false, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail578:;
		    }
		  else
		    {
/* #line 6204 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  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", 6205, __FILE__, __LINE__);
			  {
			    res_op->set_op (EQ_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] = captures[2];
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail579:;
			}
		      else
			{
/* #line 6206 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6207, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  constant_boolean_node (true, type);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail580:;
			    }
			  else
			    {
/* #line 6208 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (cmp == GT_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  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", 6209, __FILE__, __LINE__);
				  {
				    res_op->set_op (NE_EXPR, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] = captures[2];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail581:;
				}
			    }
			}
		    }
		}
	      else
		{
/* #line 6210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (wi::to_wide (cst) == max - 1
)
		    {
/* #line 6212 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == GT_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  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", 6213, __FILE__, __LINE__);
			  {
			    res_op->set_op (EQ_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 + 1));
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail582:;
			}
		      else
			{
/* #line 6217 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == LE_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6218, __FILE__, __LINE__);
			      {
				res_op->set_op (NE_EXPR, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 + 1));
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail583:;
			    }
			}
		    }
		  else
		    {
/* #line 6222 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (wi::to_wide (cst) == min + 1
)
			{
/* #line 6224 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6225, __FILE__, __LINE__);
			      {
				res_op->set_op (NE_EXPR, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 - 1));
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail584:;
			    }
			  else
			    {
/* #line 6229 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (cmp == LT_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  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", 6230, __FILE__, __LINE__);
				  {
				    res_op->set_op (EQ_EXPR, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 - 1));
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail585:;
				}
			    }
			}
		      else
			{
/* #line 6234 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (cmp == LE_EXPR || cmp == GT_EXPR
)
				{
				  {
/* #line 6246 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree st = signed_type_for (TREE_TYPE (captures[2]));
/* #line 6248 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (cst == captures[2] && cmp == LE_EXPR
)
					{
					  gimple_seq *lseq = seq;
					  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", 6249, __FILE__, __LINE__);
					  {
					    res_op->set_op (GE_EXPR, type, 2);
					    {
					      tree _o1[1], _r1;
					      _o1[0] = captures[1];
					      if (st != TREE_TYPE (_o1[0])
					          && !useless_type_conversion_p (st, TREE_TYPE (_o1[0])))
						{
						  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, st, _o1[0]);
						  tem_op.resimplify (lseq, valueize);
						  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						  if (!_r1) goto next_after_fail586;
					        }
					      else
					        _r1 = _o1[0];
					      res_op->ops[0] = _r1;
					    }
					    res_op->ops[1] =  build_zero_cst (st);
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail586:;
					}
				      else
					{
/* #line 6250 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  if (cst == captures[2] && cmp == GT_EXPR
)
					    {
					      gimple_seq *lseq = seq;
					      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", 6251, __FILE__, __LINE__);
					      {
						res_op->set_op (LT_EXPR, type, 2);
						{
						  tree _o1[1], _r1;
						  _o1[0] = captures[1];
						  if (st != TREE_TYPE (_o1[0])
						      && !useless_type_conversion_p (st, TREE_TYPE (_o1[0])))
						    {
						      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, st, _o1[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail587;
						    }
						  else
						    _r1 = _o1[0];
						  res_op->ops[0] = _r1;
						}
						res_op->ops[1] =  build_zero_cst (st);
						res_op->resimplify (lseq, valueize);
						return true;
					      }
next_after_fail587:;
					    }
					  else
					    {
/* #line 6252 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (cmp == LE_EXPR
)
						{
						  gimple_seq *lseq = seq;
						  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", 6253, __FILE__, __LINE__);
						  {
						    res_op->set_op (GE_EXPR, type, 2);
						    {
						      tree _o1[1], _r1;
						      _o1[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, st, _o1[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail588;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  build_zero_cst (st);
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail588:;
						}
					      else
						{
/* #line 6254 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (cmp == GT_EXPR
)
						    {
						      gimple_seq *lseq = seq;
						      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", 6255, __FILE__, __LINE__);
						      {
							res_op->set_op (LT_EXPR, type, 2);
							{
							  tree _o1[1], _r1;
							  _o1[0] = captures[1];
							  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, st, _o1[0]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail589;
							  res_op->ops[0] = _r1;
							}
							res_op->ops[1] =  build_zero_cst (st);
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail589:;
						    }
						}
					    }
					}
				  }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_297 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2079 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
 || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 2081, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail590;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail590:;
    }
  return false;
}

static bool
gimple_simplify_298 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 1297 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 1298, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == GT_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail591:;
    }
  return false;
}

static bool
gimple_simplify_299 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 1267 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (utype
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 1273, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[0];
		  if (utype != TREE_TYPE (_o3[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r3) goto next_after_fail592;
		    }
		  else
		    _r3 = _o3[0];
		  _o2[0] = _r3;
		}
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[1];
		  if (utype != TREE_TYPE (_o3[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r3) goto next_after_fail592;
		    }
		  else
		    _r3 = _o3[0];
		  _o2[1] = _r3;
		}
		gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail592;
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		if (utype != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail592;
		  }
		else
		  _r2 = _o2[0];
		_o1[1] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail592;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail592:;
	}
  }
  return false;
}

static bool
gimple_simplify_300 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (POW))
{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[3])))
        lseq = NULL;
      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", 6862, __FILE__, __LINE__);
      {
	res_op->set_op (POW, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[4];
	  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail593;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail593:;
    }
  return false;
}

static bool
gimple_simplify_301 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3084 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!TYPE_OVERFLOW_TRAPS (type)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 3085, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		res_op->ops[0] =  build_all_ones_cst (TREE_TYPE (captures[0]));
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail594:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_302 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_WRAPS (type)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 2916, __FILE__, __LINE__);
	      {
		res_op->set_op (NEGATE_EXPR, type, 1);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail595;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail595:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 2917, __FILE__, __LINE__);
	      {
		res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail596;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail596:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_303 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6370 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
)
    {
      gimple_seq *lseq = seq;
      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", 6372, __FILE__, __LINE__);
      {
	res_op->set_op (out, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail597;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail597:;
    }
  return false;
}

static bool
gimple_simplify_304 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (coss), const combined_fn ARG_UNUSED (copysigns))
{
  gimple_seq *lseq = seq;
  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", 931, __FILE__, __LINE__);
  {
    res_op->set_op (coss, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail598:;
  return false;
}

static bool
gimple_simplify_305 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 4340 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (TREE_TYPE (captures[0]), type)
)
    {
      gimple_seq *lseq = seq;
      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", 4341, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail599:;
    }
  return false;
}

static bool
gimple_simplify_306 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6378 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
)
    {
      gimple_seq *lseq = seq;
      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", 6380, __FILE__, __LINE__);
      {
	res_op->set_op (out, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail600;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail600:;
    }
  return false;
}

static bool
gimple_simplify_307 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (shiftrotate))
{
  gimple_seq *lseq = seq;
  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", 3711, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail601:;
  return false;
}

static bool
gimple_simplify_308 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 2658, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail602:;
  return false;
}

static bool
gimple_simplify_309 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 321 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 322, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail603;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail603:;
    }
  return false;
}

static bool
gimple_simplify_310 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6156 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
 && !(
0
 && 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]))
)
    {
      gimple_seq *lseq = seq;
      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", 6168, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[0];
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  if (TREE_TYPE (res_op->ops[0]) != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (TREE_TYPE (res_op->ops[0]), TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (res_op->ops[0]), _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail604;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail604:;
    }
  return false;
}

static bool
gimple_simplify_311 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  gimple_seq *lseq = seq;
	  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", 1635, __FILE__, __LINE__);
	  {
	    res_op->set_op (op, type, 2);
	    res_op->ops[0] = captures[0];
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[6];
	      if (type != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail605;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail605:;
	}
      else
	{
/* #line 1636 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      gimple_seq *lseq = seq;
	      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", 1637, __FILE__, __LINE__);
	      {
		res_op->set_op (op, type, 2);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[3];
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail606;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[4];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail606:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_312 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (hypots), const combined_fn ARG_UNUSED (copysigns))
{
  gimple_seq *lseq = seq;
  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", 958, __FILE__, __LINE__);
  {
    res_op->set_op (hypots, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail607:;
  return false;
}

static bool
gimple_simplify_313 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7620, __FILE__, __LINE__);
      {
	res_op->set_op (CFN_FMA, type, 3);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->ops[2] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail608:;
    }
  return false;
}

static bool
gimple_simplify_314 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
    {
      gimple_seq *lseq = seq;
      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", 5033, __FILE__, __LINE__);
      {
	res_op->set_op (ABS_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail609:;
    }
  return false;
}

static bool
gimple_simplify_315 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2840 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && !TYPE_OVERFLOW_SANITIZED (type)
)
	{
	  {
/* #line 2842 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]);
	      gimple_seq *lseq = seq;
	      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", 2849, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[0];
		    if (t1 != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (t1, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, t1, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail610;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[1];
		    if (t1 != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (t1, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, t1, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail610;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail610;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail610:;
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_316 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2126 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
 && tree_nop_conversion_p (type, TREE_TYPE (captures[3]))
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[1])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 2128, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[3];
	    gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail611;
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail611;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail611:;
    }
  return false;
}

static bool
gimple_simplify_317 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (copysigns))
{
  gimple_seq *lseq = seq;
  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", 972, __FILE__, __LINE__);
  {
    res_op->set_op (copysigns, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[2];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail612:;
  return false;
}

static bool
gimple_simplify_318 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (TYPE_UNSIGNED (type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 1684, __FILE__, __LINE__);
	  {
	    res_op->set_op (ABSU_EXPR, type, 1);
	    res_op->ops[0] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail613:;
	}
      else
	{
	  gimple_seq *lseq = seq;
	  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", 1685, __FILE__, __LINE__);
	  {
	    res_op->set_op (ABS_EXPR, type, 1);
	    res_op->ops[0] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail614:;
	}
    }
  return false;
}

static bool
gimple_simplify_319 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 314, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail615;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail615:;
    }
  return false;
}

static bool
gimple_simplify_320 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (copysigns))
{
  gimple_seq *lseq = seq;
  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", 978, __FILE__, __LINE__);
  {
    res_op->set_op (MULT_EXPR, type, 2);
    res_op->ops[0] = captures[1];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail616:;
  return false;
}

static bool
gimple_simplify_321 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type)
 && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[1])) == 0
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])))
        lseq = NULL;
      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", 3379, __FILE__, __LINE__);
      {
	res_op->set_op (MULT_EXPR, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] =  wide_int_to_tree (type,
 wi::add (wi::to_wide (captures[2]), 1));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail617:;
    }
  return false;
}

static bool
gimple_simplify_322 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5009 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 5010, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[1];
	res_op->set_value (tem);
	return true;
      }
next_after_fail618:;
    }
  return false;
}

static bool
gimple_simplify_323 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1027 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[3])))
        lseq = NULL;
      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", 1028, __FILE__, __LINE__);
      {
	res_op->set_op (LSHIFT_EXPR, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[4];
	  gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail619;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail619:;
    }
  return false;
}

static bool
gimple_simplify_324 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 3751 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 unsigned int prec = element_precision (type);
/* #line 3752 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 unsigned int low = (tree_to_uhwi (captures[1])
 + tree_to_uhwi (captures[2]));
/* #line 3760 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (low >= prec
)
		{
/* #line 3761 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (op == LROTATE_EXPR || op == RROTATE_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      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", 3762, __FILE__, __LINE__);
		      {
			res_op->set_op (op, type, 2);
			res_op->ops[0] = captures[0];
			res_op->ops[1] =  build_int_cst (TREE_TYPE (captures[1]), low % prec);
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail620:;
		    }
		  else
		    {
/* #line 3763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (TYPE_UNSIGNED (type) || op == LSHIFT_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  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", 3764, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  build_zero_cst (type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail621:;
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  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", 3765, __FILE__, __LINE__);
			  {
			    res_op->set_op (op, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_int_cst (TREE_TYPE (captures[1]), prec - 1);
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail622:;
			}
		    }
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  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", 3766, __FILE__, __LINE__);
		  {
		    res_op->set_op (op, type, 2);
		    res_op->ops[0] = captures[0];
		    res_op->ops[1] =  build_int_cst (TREE_TYPE (captures[1]), low);
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail623:;
		}
	  }
	}
  }
  return false;
}

static bool
gimple_simplify_325 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 321 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 322, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail624;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail624:;
    }
  return false;
}

static bool
gimple_simplify_326 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 5720, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail625:;
  return false;
}

static bool
gimple_simplify_327 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[0]));
/* #line 5139 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (ic == icmp
)
	{
	  gimple_seq *lseq = seq;
	  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", 5140, __FILE__, __LINE__);
	  {
	    res_op->set_op (icmp, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[1];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail626:;
	}
      else
	{
/* #line 5141 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (ic == ncmp
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5142, __FILE__, __LINE__);
	      {
		res_op->set_op (ncmp, type, 2);
		res_op->ops[0] = captures[0];
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail627:;
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_328 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
  {
/* #line 3783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (c1 < c2
)
	{
	  gimple_seq *lseq = seq;
	  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", 3786, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem =  constant_boolean_node (cmp == NE_EXPR ? false : true, type);
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail628:;
	}
      else
	{
	  gimple_seq *lseq = seq;
	  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", 3787, __FILE__, __LINE__);
	  {
	    res_op->set_op (icmp, type, 2);
	    res_op->ops[0] = captures[1];
	    res_op->ops[1] =  build_int_cst (TREE_TYPE (captures[1]), c1 - c2);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail629:;
	}
  }
  return false;
}

static bool
gimple_simplify_329 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1164, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail630:;
  return false;
}

static bool
gimple_simplify_330 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 2668, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail631:;
  return false;
}

static bool
gimple_simplify_331 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (rep), const combined_fn ARG_UNUSED (popcount))
{
  gimple_seq *lseq = seq;
  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", 7740, __FILE__, __LINE__);
  {
    res_op->set_op (rep, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[0]));
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail632:;
  return false;
}

static bool
gimple_simplify_332 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 6060 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!POINTER_TYPE_P (type) && integer_pow2p (captures[2])
)
    {
      {
/* #line 6061 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (shift > 0
)
	    {
	      gimple_seq *lseq = seq;
	      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", 6066, __FILE__, __LINE__);
	      {
		res_op->set_op (BIT_AND_EXPR, type, 2);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[0];
		    if (type != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail633;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  _o1[1] =  build_int_cst (integer_type_node, shift);
		  gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail633;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail633:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 6068, __FILE__, __LINE__);
	      {
		res_op->set_op (BIT_AND_EXPR, type, 2);
		{
		  tree _o1[1], _r1;
		  {
		    tree _o2[2], _r2;
		    _o2[0] = captures[0];
		    _o2[1] =  build_int_cst (integer_type_node, -shift);
		    gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail634;
		    _o1[0] = _r2;
		  }
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail634;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail634:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_333 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
    {
      gimple_seq *lseq = seq;
      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", 2380, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	res_op->ops[0] = captures[3];
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[3]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail635:;
    }
  return false;
}

static bool
gimple_simplify_334 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2905 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_WRAPS (type)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 2907, __FILE__, __LINE__);
	      {
		res_op->set_op (NEGATE_EXPR, type, 1);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail636;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail636:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 2908, __FILE__, __LINE__);
	      {
		res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail637;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail637:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_335 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
/* #line 7901 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (integer_zerop (captures[2])
)
	{
	  gimple_seq *lseq = seq;
	  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", 7902, __FILE__, __LINE__);
	  {
	    res_op->set_op (cmp2, type, 2);
	    res_op->ops[0] = captures[1];
	    res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail638:;
	}
      else
	{
/* #line 7903 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (tree_int_cst_sgn (captures[2]) < 0
)
	    {
	      gimple_seq *lseq = seq;
	      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", 7904, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == GT_EXPR ? true : false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail639:;
	    }
	  else
	    {
/* #line 7905 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (wi::to_widest (captures[2]) >= prec
)
		{
		  gimple_seq *lseq = seq;
		  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", 7906, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (cmp == GT_EXPR ? false : true, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail640:;
		}
	      else
		{
/* #line 7907 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (wi::to_widest (captures[2]) == prec - 1
)
		    {
		      gimple_seq *lseq = seq;
		      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", 7908, __FILE__, __LINE__);
		      {
			res_op->set_op (cmp3, type, 2);
			res_op->ops[0] = captures[1];
			res_op->ops[1] =  wide_int_to_tree (TREE_TYPE (captures[1]),
 wi::shifted_mask (prec - 1, 1,
 false, prec));
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail641:;
		    }
		  else
		    {
/* #line 7911 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (single_use (captures[0])
)
			{
			  gimple_seq *lseq = seq;
			  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", 7912, __FILE__, __LINE__);
			  {
			    res_op->set_op (bit_op, type, 2);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[1];
			      _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
			      gimple_match_op tem_op (res_op->cond.any_else (), cmp2, type, _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail642;
			      res_op->ops[0] = _r1;
			    }
			    {
			      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));
				gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail642;
				_o1[0] = _r2;
			      }
			      _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
			      gimple_match_op tem_op (res_op->cond.any_else (), cmp3, type, _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail642;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail642:;
			}
		    }
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_336 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (bswap))
{
/* #line 4436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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);
	  gimple_seq *lseq = seq;
	  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", 4445, __FILE__, __LINE__);
	  {
	    res_op->set_op (BIT_AND_EXPR, type, 2);
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[1], _r3;
		  _o3[0] = captures[1];
		  if (utype != TREE_TYPE (_o3[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r3) goto next_after_fail643;
		    }
		  else
		    _r3 = _o3[0];
		  _o2[0] = _r3;
		}
		_o2[1] = nst;
		gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, utype, _o2[0], _o2[1]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail643;
		_o1[0] = _r2;
	      }
	      if (type != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail643;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] = captures[2];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail643:;
      }
    }
  return false;
}

static bool
gimple_simplify_337 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (sq), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && ! flag_errno_math
)
    {
/* #line 5548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (! HONOR_NANS (captures[0])
)
	{
	  gimple_seq *lseq = seq;
	  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", 5549, __FILE__, __LINE__);
	  {
	    res_op->set_op (cmp, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[1];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail644:;
	}
    }
  return false;
}

static bool
gimple_simplify_338 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
  gimple_seq *lseq = seq;
  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", 6778, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[1];
    res_op->set_value (tem);
    return true;
  }
next_after_fail645:;
  return false;
}

static bool
gimple_simplify_339 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (neg_op))
{
/* #line 661 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
/* #line 668 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!HONOR_SIGNED_ZEROS (captures[1]) && !HONOR_INFINITIES (captures[1])
)
	{
/* #line 670 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      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", 671, __FILE__, __LINE__);
	      {
		res_op->set_op (op, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail646:;
	    }
	  else
	    {
/* #line 673 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (real_less (TREE_REAL_CST_PTR (captures[0]), &dconst0)
)
		{
		  gimple_seq *lseq = seq;
		  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", 674, __FILE__, __LINE__);
		  {
		    res_op->set_op (neg_op, type, 2);
		    res_op->ops[0] = captures[1];
		    res_op->ops[1] = captures[2];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail647:;
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_340 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3385 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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])));
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[3])))
	    lseq = NULL;
	  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", 3395, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[1];
		if (t != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (t, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, t, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail648;
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] =  wide_int_to_tree (t,c);
	      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, t, _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail648;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail648:;
      }
    }
  return false;
}

static bool
gimple_simplify_341 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 unsigned int prec = TYPE_PRECISION (TREE_TYPE (captures[3]));
 signop sign = TYPE_SIGN (TREE_TYPE (captures[3]));
	  gimple_seq *lseq = seq;
	  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", 6341, __FILE__, __LINE__);
	  {
	    res_op->set_op (out, type, 2);
	    res_op->ops[0] = captures[3];
	    res_op->ops[1] =  wide_int_to_tree (TREE_TYPE (captures[3]),
 wi::max_value (prec, sign)
 - wi::to_wide (captures[4]));
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail649:;
      }
    }
  return false;
}

static bool
gimple_simplify_342 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (PARITY))
{
  gimple_seq *lseq = seq;
  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", 7751, __FILE__, __LINE__);
  {
    res_op->set_op (PARITY, type, 1);
    res_op->ops[0] = captures[0];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail650:;
  return false;
}

static bool
gimple_simplify_343 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1585 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 1587, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_XOR_EXPR, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail651;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail651;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail651:;
    }
  return false;
}

static bool
gimple_simplify_344 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (optimize
 && types_match (type, TREE_TYPE (captures[0]))
 && direct_internal_fn_supported_p (as_internal_fn (tos),
 type, OPTIMIZE_FOR_BOTH)
)
    {
      gimple_seq *lseq = seq;
      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", 7021, __FILE__, __LINE__);
      {
	res_op->set_op (tos, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail652:;
    }
  return false;
}

static bool
gimple_simplify_345 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 2653, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail653:;
  return false;
}

static bool
gimple_simplify_346 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7310 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  {
/* #line 7330 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree ntype = TREE_TYPE (captures[2]);
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      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", 7331, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[2], _r2;
		    _o2[0] = captures[2];
		    _o2[1] = captures[4];
		    gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail654;
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[5];
		    if (ntype != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (ntype, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, ntype, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail654;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail654;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail654:;
	  }
	}
      else
	{
	  {
/* #line 7332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      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", 7333, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[2], _r2;
		    {
		      tree _o3[1], _r3;
		      _o3[0] = captures[2];
		      if (utype != TREE_TYPE (_o3[0])
		          && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r3) goto next_after_fail655;
		        }
		      else
		        _r3 = _o3[0];
		      _o2[0] = _r3;
		    }
		    {
		      tree _o3[1], _r3;
		      _o3[0] = captures[4];
		      if (utype != TREE_TYPE (_o3[0])
		          && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r3) goto next_after_fail655;
		        }
		      else
		        _r3 = _o3[0];
		      _o2[1] = _r3;
		    }
		    gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail655;
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[5];
		    if (utype != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail655;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail655;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail655:;
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_347 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2286 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  gimple_seq *lseq = seq;
	  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", 2290, __FILE__, __LINE__);
	  {
	    res_op->set_op (op, type, 2);
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[0];
	      if (stype != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (stype, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, stype, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail656;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[0] = _r1;
	    }
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[2];
	      if (stype != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (stype, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, stype, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail656;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail656:;
      }
    }
  return false;
}

static bool
gimple_simplify_348 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (rbitop))
{
  gimple_seq *lseq = seq;
  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", 1856, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail657:;
  return false;
}

static bool
gimple_simplify_349 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5265 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (cmp != NE_EXPR
 || ! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 || ! tree_expr_maybe_nan_p (captures[0])
)
    {
      gimple_seq *lseq = seq;
      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", 5268, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (false, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail658:;
    }
  return false;
}

static bool
gimple_simplify_350 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (copysigns))
{
/* #line 964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 965, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail659;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail659:;
    }
  else
    {
      gimple_seq *lseq = seq;
      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", 966, __FILE__, __LINE__);
      {
	res_op->set_op (ABS_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail660:;
    }
  return false;
}

static bool
gimple_simplify_351 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (rotate))
{
  gimple_seq *lseq = seq;
  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", 3664, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail661:;
  return false;
}

static bool
gimple_simplify_352 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 6833, __FILE__, __LINE__);
      {
	res_op->set_op (RDIV_EXPR, type, 2);
	res_op->ops[0] = build_one_cst (type);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  gimple_match_op tem_op (res_op->cond.any_else (), COSH, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail662;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail662:;
    }
  return false;
}

static bool
gimple_simplify_353 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[3])
          || !single_use (captures[4])))
    lseq = NULL;
  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", 1210, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_AND_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    {
      tree _o1[1], _r1;
      _o1[0] = captures[5];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail663;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail663:;
  return false;
}

static bool
gimple_simplify_354 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5009 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 5010, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[1];
	res_op->set_value (tem);
	return true;
      }
next_after_fail664:;
    }
  return false;
}

static bool
gimple_simplify_355 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 2653, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail665:;
  return false;
}

static bool
gimple_simplify_356 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 2911, __FILE__, __LINE__);
	  {
	    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
	    res_op->ops[0] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail666:;
	}
    }
  return false;
}

static bool
gimple_simplify_357 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 996 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (! FLOAT_TYPE_P (type)
 && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 998, __FILE__, __LINE__);
      {
	res_op->set_op (LSHIFT_EXPR, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail667:;
    }
  return false;
}

static bool
gimple_simplify_358 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 314, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail668;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail668:;
    }
  return false;
}

static bool
gimple_simplify_359 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (shiftrotate))
{
  {
/* #line 3720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree tem = uniform_vector_p (captures[1]);
/* #line 3721 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (tem
)
	{
	  gimple_seq *lseq = seq;
	  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", 3722, __FILE__, __LINE__);
	  {
	    res_op->set_op (shiftrotate, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] =  tem;
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail669:;
	}
  }
  return false;
}

static bool
gimple_simplify_360 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (COPYSIGN_ALL))
{
/* #line 327 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 328, __FILE__, __LINE__);
      {
	res_op->set_op (ABS_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail670:;
    }
  return false;
}

static bool
gimple_simplify_361 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (outer_op), const enum tree_code ARG_UNUSED (inner_op))
{
/* #line 217 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (real_zerop (captures[2])
 && real_zerop (captures[3])
 && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
)
    {
      {
/* #line 220 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (outer_plus && !inner_plus
)
	    {
	      gimple_seq *lseq = seq;
	      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", 226, __FILE__, __LINE__);
	      {
		res_op->set_op (outer_op, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] = captures[3];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail671:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 227, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail672:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_362 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (minmax))
{
/* #line 3513 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
    {
      gimple_seq *lseq = seq;
      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", 3517, __FILE__, __LINE__);
      {
	res_op->set_op (minmax, type, 2);
	res_op->ops[0] = captures[1];
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail673;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail673:;
    }
  return false;
}

static bool
gimple_simplify_363 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (shift), const enum tree_code ARG_UNUSED (mod))
{
/* #line 805 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (integer_pow2p (captures[3]) && tree_int_cst_sgn (captures[3]) > 0
)
    {
      gimple_seq *lseq = seq;
      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", 806, __FILE__, __LINE__);
      {
	res_op->set_op (shift, type, 2);
	res_op->ops[0] = captures[0];
	{
	  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);
	    gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail674;
	    _o1[1] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail674;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail674:;
    }
  return false;
}

static bool
gimple_simplify_364 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_UNDEFINED (type)
)
    {
      gimple_seq *lseq = seq;
      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", 360, __FILE__, __LINE__);
      {
	res_op->set_op (ABS_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail675:;
    }
  return false;
}

static bool
gimple_simplify_365 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (tree_expr_nonnegative_p (captures[1]) && tree_expr_nonzero_p (captures[1])
)
	{
	  gimple_seq *lseq = seq;
	  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", 2178, __FILE__, __LINE__);
	  {
	    res_op->set_op (cmp, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[2];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail676:;
	}
      else
	{
/* #line 2179 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
	    {
	      gimple_seq *lseq = seq;
	      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", 2181, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		res_op->ops[0] = captures[2];
		res_op->ops[1] = captures[0];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail677:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_366 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 6823, __FILE__, __LINE__);
      {
	res_op->set_op (TAN, type, 1);
	res_op->ops[0] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail678:;
    }
  return false;
}

static bool
gimple_simplify_367 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ocmp))
{
/* #line 2414 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
    {
      gimple_seq *lseq = seq;
      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", 2418, __FILE__, __LINE__);
      {
	res_op->set_op (ocmp, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail679:;
    }
  return false;
}

static bool
gimple_simplify_368 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 7177, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail680:;
  return false;
}

static bool
gimple_simplify_369 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (integer_zerop (captures[2]) || integer_all_onesp (captures[2])
)
    {
      gimple_seq *lseq = seq;
      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", 4008, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail681:;
    }
  return false;
}

static bool
gimple_simplify_370 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 614 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (SCALAR_FLOAT_TYPE_P (type)
 && ! HONOR_NANS (type)
 && ! HONOR_INFINITIES (type)
)
    {
/* #line 618 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (types_match (type, float_type_node)
)
	{
	  gimple_seq *lseq = seq;
	  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", 619, __FILE__, __LINE__);
	  {
	    res_op->set_op (CFN_BUILT_IN_COPYSIGNF, type, 2);
	    res_op->ops[0] =  build_one_cst (type);
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[0];
	      if (type != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail682;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail682:;
	}
      else
	{
/* #line 620 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (types_match (type, double_type_node)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 621, __FILE__, __LINE__);
	      {
		res_op->set_op (CFN_BUILT_IN_COPYSIGN, type, 2);
		res_op->ops[0] =  build_one_cst (type);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[0];
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail683;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail683:;
	    }
	  else
	    {
/* #line 622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (types_match (type, long_double_type_node)
)
		{
		  gimple_seq *lseq = seq;
		  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", 623, __FILE__, __LINE__);
		  {
		    res_op->set_op (CFN_BUILT_IN_COPYSIGNL, type, 2);
		    res_op->ops[0] =  build_one_cst (type);
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[0];
		      if (type != TREE_TYPE (_o1[0])
		          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail684;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail684:;
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_371 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])))
    lseq = NULL;
  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", 2121, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_XOR_EXPR, type, 2);
    {
      tree _o1[2], _r1;
      {
	tree _o2[2], _r2;
	_o2[0] = captures[1];
	_o2[1] = captures[4];
	gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
	tem_op.resimplify (lseq, valueize);
	_r2 = maybe_push_res_to_seq (&tem_op, lseq);
	if (!_r2) goto next_after_fail685;
	_o1[0] = _r2;
      }
      _o1[1] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail685;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail685:;
  return false;
}

static bool
gimple_simplify_372 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1159, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_IOR_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail686:;
  return false;
}

static bool
gimple_simplify_373 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1538 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 1542, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_NOT_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  {
	    tree _o2[2], _r2;
	    _o2[0] = captures[1];
	    _o2[1] = captures[2];
	    gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail687;
	    _o1[0] = _r2;
	  }
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail687;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail687:;
    }
  return false;
}

static bool
gimple_simplify_374 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const combined_fn ARG_UNUSED (ffs))
{
  {
/* #line 7878 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
/* #line 7880 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (integer_zerop (captures[2])
)
	{
	  gimple_seq *lseq = seq;
	  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", 7881, __FILE__, __LINE__);
	  {
	    res_op->set_op (cmp, type, 2);
	    res_op->ops[0] = captures[1];
	    res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail688:;
	}
      else
	{
/* #line 7882 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) > prec
)
	    {
	      gimple_seq *lseq = seq;
	      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", 7883, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (cmp == NE_EXPR ? true : false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail689:;
	    }
	  else
	    {
/* #line 7884 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (single_use (captures[0])
)
		{
		  gimple_seq *lseq = seq;
		  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", 7885, __FILE__, __LINE__);
		  {
		    res_op->set_op (cmp, type, 2);
		    {
		      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));
		      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail690;
		      res_op->ops[0] = _r1;
		    }
		    res_op->ops[1] =  wide_int_to_tree (TREE_TYPE (captures[1]),
 wi::shifted_mask (tree_to_uhwi (captures[2]) - 1, 1,
 false, prec));
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail690:;
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_375 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (ncmp))
{
/* #line 6078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
	  gimple_seq *lseq = seq;
	  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", 6083, __FILE__, __LINE__);
	  {
	    res_op->set_op (ncmp, type, 2);
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[1];
	      if (stype != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (stype, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, stype, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail691;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] =  build_zero_cst (stype);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail691:;
      }
    }
  return false;
}

static bool
gimple_simplify_376 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (shiftrotate))
{
  {
/* #line 3720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree tem = uniform_vector_p (captures[1]);
/* #line 3721 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (tem
)
	{
	  gimple_seq *lseq = seq;
	  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", 3722, __FILE__, __LINE__);
	  {
	    res_op->set_op (shiftrotate, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] =  tem;
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail692:;
	}
  }
  return false;
}

static bool
gimple_simplify_377 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 2929, __FILE__, __LINE__);
	  {
	    res_op->set_op (MINUS_EXPR, type, 2);
	    res_op->ops[0] = captures[2];
	    res_op->ops[1] = captures[1];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail693:;
	}
    }
  return false;
}

static bool
gimple_simplify_378 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2059 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
 || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 2061, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] =  build_each_one_cst (TREE_TYPE (captures[0]));
	  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail694;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail694:;
    }
  return false;
}

static bool
gimple_simplify_379 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 3625 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && (
1
 || !TREE_SIDE_EFFECTS (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 3627, __FILE__, __LINE__);
      {
	res_op->set_op (COND_EXPR, type, 3);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  if (boolean_type_node != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (boolean_type_node, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, boolean_type_node, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail695;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->ops[2] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail695:;
    }
  return false;
}

static bool
gimple_simplify_380 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 6793, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail696:;
  return false;
}

static bool
gimple_simplify_381 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])))
    lseq = NULL;
  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", 1174, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_IOR_EXPR, type, 2);
    res_op->ops[0] = captures[1];
    res_op->ops[1] = captures[2];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail697:;
  return false;
}

static bool
gimple_simplify_382 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree tem = const_unop (NEGATE_EXPR, TREE_TYPE (captures[0]), captures[1]);
/* #line 5786 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (tem && !TREE_OVERFLOW (tem)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5787, __FILE__, __LINE__);
	      {
		res_op->set_op (scmp, type, 2);
		res_op->ops[0] = captures[0];
		res_op->ops[1] =  tem;
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail698:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_383 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2733 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int cmp = tree_int_cst_compare (captures[2], captures[4]);
/* #line 2739 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
	{
/* #line 2741 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 2742, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail699:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 2743, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[3];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail700:;
	    }
	}
      else
	{
/* #line 2745 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if ((code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
	    {
/* #line 2747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
)
		{
		  gimple_seq *lseq = seq;
		  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", 2748, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail701:;
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  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", 2749, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[3];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail702:;
		}
	    }
	  else
	    {
/* #line 2751 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == 0
 && ((code1 == LE_EXPR && code2 == GE_EXPR)
 || (code1 == GE_EXPR && code2 == LE_EXPR))
)
		{
		  gimple_seq *lseq = seq;
		  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", 2754, __FILE__, __LINE__);
		  {
		    res_op->set_op (EQ_EXPR, type, 2);
		    res_op->ops[0] = captures[1];
		    res_op->ops[1] = captures[2];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail703:;
		}
	      else
		{
/* #line 2756 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp <= 0
 && (code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 2759, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (false, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail704:;
		    }
		  else
		    {
/* #line 2760 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp >= 0
 && (code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
			{
			  gimple_seq *lseq = seq;
			  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", 2763, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (false, type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail705:;
			}
		    }
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_384 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
 && (
 (INTEGRAL_TYPE_P (type)
 && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
 && TYPE_PRECISION (TREE_TYPE (captures[1])) <= TYPE_PRECISION (type)
 && TYPE_PRECISION (TREE_TYPE (captures[3])) <= TYPE_PRECISION (type))
 || (types_match (type, TREE_TYPE (captures[1]))
 && types_match (type, TREE_TYPE (captures[3]))))
)
    {
/* #line 4906 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (cmp == EQ_EXPR
)
	{
/* #line 4907 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 4908, __FILE__, __LINE__);
	      {
		res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		res_op->ops[0] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail706:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 4909, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		res_op->ops[0] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail707:;
	    }
	}
      else
	{
/* #line 4910 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (cmp == NE_EXPR
)
	    {
/* #line 4911 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (VECTOR_TYPE_P (type)
)
		{
		  gimple_seq *lseq = seq;
		  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", 4912, __FILE__, __LINE__);
		  {
		    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		    res_op->ops[0] = captures[0];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail708:;
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  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", 4913, __FILE__, __LINE__);
		  {
		    res_op->set_op (NOP_EXPR, type, 1);
		    res_op->ops[0] = captures[0];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail709:;
		}
	    }
	  else
	    {
/* #line 4914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == LE_EXPR || cmp == UNLE_EXPR || cmp == LT_EXPR || cmp == UNLT_EXPR
)
		{
/* #line 4915 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (!HONOR_NANS (type)
)
		    {
/* #line 4916 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (VECTOR_TYPE_P (type)
)
			{
			  gimple_seq *lseq = seq;
			  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", 4917, __FILE__, __LINE__);
			  {
			    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[2];
			      gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail710;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail710:;
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  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", 4918, __FILE__, __LINE__);
			  {
			    res_op->set_op (NOP_EXPR, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[2];
			      gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail711;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail711:;
			}
		    }
		}
	      else
		{
/* #line 4919 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == GE_EXPR || cmp == UNGE_EXPR || cmp == GT_EXPR || cmp == UNGT_EXPR
)
		    {
/* #line 4920 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (!HONOR_NANS (type)
)
			{
/* #line 4921 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (VECTOR_TYPE_P (type)
)
			    {
			      gimple_seq *lseq = seq;
			      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", 4922, __FILE__, __LINE__);
			      {
				res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[0];
				  _o1[1] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail712;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail712:;
			    }
			  else
			    {
			      gimple_seq *lseq = seq;
			      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", 4923, __FILE__, __LINE__);
			      {
				res_op->set_op (NOP_EXPR, type, 1);
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[0];
				  _o1[1] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail713;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail713:;
			    }
			}
		    }
		  else
		    {
/* #line 4924 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == UNEQ_EXPR
)
			{
/* #line 4925 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (!HONOR_NANS (type)
)
			    {
/* #line 4926 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (VECTOR_TYPE_P (type)
)
				{
				  gimple_seq *lseq = seq;
				  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", 4927, __FILE__, __LINE__);
				  {
				    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				    res_op->ops[0] = captures[2];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail714:;
				}
			      else
				{
				  gimple_seq *lseq = seq;
				  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", 4928, __FILE__, __LINE__);
				  {
				    res_op->set_op (NOP_EXPR, type, 1);
				    res_op->ops[0] = captures[2];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail715:;
				}
			    }
			}
		      else
			{
/* #line 4929 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == LTGT_EXPR
)
			    {
/* #line 4930 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (!HONOR_NANS (type)
)
				{
/* #line 4931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (VECTOR_TYPE_P (type)
)
				    {
				      gimple_seq *lseq = seq;
				      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", 4932, __FILE__, __LINE__);
				      {
					res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
					res_op->ops[0] = captures[0];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail716:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      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", 4933, __FILE__, __LINE__);
				      {
					res_op->set_op (NOP_EXPR, type, 1);
					res_op->ops[0] = captures[0];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail717:;
				    }
				}
			    }
			}
		    }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_385 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (sq), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && ! flag_errno_math
)
    {
/* #line 5413 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
)
	{
/* #line 5416 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (cmp == EQ_EXPR || cmp == LT_EXPR || cmp == LE_EXPR
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5417, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail718:;
	    }
	  else
	    {
/* #line 5420 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == NE_EXPR || !HONOR_NANS (captures[0])
)
		{
		  gimple_seq *lseq = seq;
		  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", 5421, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (true, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail719:;
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  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", 5423, __FILE__, __LINE__);
		  {
		    res_op->set_op (GE_EXPR, type, 2);
		    res_op->ops[0] = captures[0];
		    res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail720:;
		}
	    }
	}
      else
	{
/* #line 5424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (real_equal (TREE_REAL_CST_PTR (captures[1]), &dconst0)
)
	    {
/* #line 5427 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == LT_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  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", 5428, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (false, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail721:;
		}
	      else
		{
/* #line 5430 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == GE_EXPR && !HONOR_NANS (captures[0])
)
		    {
		      gimple_seq *lseq = seq;
		      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", 5431, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (true, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail722:;
		    }
		  else
		    {
/* #line 5433 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  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", 5434, __FILE__, __LINE__);
			  {
			    res_op->set_op (EQ_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] = captures[1];
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail723:;
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  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", 5442, __FILE__, __LINE__);
			  {
			    res_op->set_op (cmp, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] = captures[1];
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail724:;
			}
		    }
		}
	    }
	  else
	    {
/* #line 5443 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == GT_EXPR || cmp == GE_EXPR
)
			{
/* #line 5501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (REAL_VALUE_ISINF (c2)
)
			    {
/* #line 5503 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (HONOR_INFINITIES (captures[0])
)
				{
				  gimple_seq *lseq = seq;
				  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", 5504, __FILE__, __LINE__);
				  {
				    res_op->set_op (EQ_EXPR, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), c2);
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail725:;
				}
			      else
				{
				  gimple_seq *lseq = seq;
				  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", 5505, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (false, type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail726:;
				}
			    }
			  else
			    {
/* #line 5507 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (ncmp != ERROR_MARK
)
				{
/* #line 5508 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (ncmp == GE_EXPR
)
				    {
				      gimple_seq *lseq = seq;
				      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", 5509, __FILE__, __LINE__);
				      {
					res_op->set_op (GE_EXPR, type, 2);
					res_op->ops[0] = captures[0];
					res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), c2);
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail727:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      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", 5510, __FILE__, __LINE__);
				      {
					res_op->set_op (GT_EXPR, type, 2);
					res_op->ops[0] = captures[0];
					res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), c2);
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail728:;
				    }
				}
			    }
			}
		      else
			{
/* #line 5512 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (REAL_VALUE_ISINF (c2)
)
			    {
/* #line 5516 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (! HONOR_NANS (captures[0]) && ! HONOR_INFINITIES (captures[0])
)
				{
				  gimple_seq *lseq = seq;
				  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", 5517, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (true, type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail729:;
				}
			      else
				{
/* #line 5520 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (! HONOR_NANS (captures[0])
)
				    {
				      gimple_seq *lseq = seq;
				      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", 5521, __FILE__, __LINE__);
				      {
					res_op->set_op (NE_EXPR, type, 2);
					res_op->ops[0] = captures[0];
					res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), c2);
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail730:;
				    }
				  else
				    {
/* #line 5524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (! HONOR_INFINITIES (captures[0])
)
					{
					  gimple_seq *lseq = seq;
					  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", 5525, __FILE__, __LINE__);
					  {
					    res_op->set_op (GE_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail731:;
					}
				      else
					{
/* #line 5527 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  if (0
)
					    {
					      gimple_seq *lseq = seq;
					      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", 5528, __FILE__, __LINE__);
					      {
						res_op->set_op (TRUTH_ANDIF_EXPR, type, 2);
						{
						  tree _o1[2], _r1;
						  _o1[0] = captures[0];
						  _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
						  gimple_match_op tem_op (res_op->cond.any_else (), GE_EXPR, type, _o1[0], _o1[1]);
						  tem_op.resimplify (lseq, valueize);
						  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						  if (!_r1) goto next_after_fail732;
						  res_op->ops[0] = _r1;
						}
						{
						  tree _o1[2], _r1;
						  _o1[0] = captures[0];
						  _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
						  gimple_match_op tem_op (res_op->cond.any_else (), NE_EXPR, type, _o1[0], _o1[1]);
						  tem_op.resimplify (lseq, valueize);
						  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						  if (!_r1) goto next_after_fail732;
						  res_op->ops[1] = _r1;
						}
						res_op->resimplify (lseq, valueize);
						return true;
					      }
next_after_fail732:;
					    }
					}
				    }
				}
			    }
			  else
			    {
/* #line 5532 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (ncmp != ERROR_MARK && ! HONOR_NANS (captures[0])
)
				{
/* #line 5533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (ncmp == LT_EXPR
)
				    {
				      gimple_seq *lseq = seq;
				      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", 5534, __FILE__, __LINE__);
				      {
					res_op->set_op (LT_EXPR, type, 2);
					res_op->ops[0] = captures[0];
					res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), c2);
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail733:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      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", 5535, __FILE__, __LINE__);
				      {
					res_op->set_op (LE_EXPR, type, 2);
					res_op->ops[0] = captures[0];
					res_op->ops[1] =  build_real (TREE_TYPE (captures[0]), c2);
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail734:;
				    }
				}
			      else
				{
/* #line 5537 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (ncmp != ERROR_MARK &&
0
)
				    {
/* #line 5538 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (ncmp == LT_EXPR
)
					{
					  gimple_seq *lseq = seq;
					  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", 5539, __FILE__, __LINE__);
					  {
					    res_op->set_op (TRUTH_ANDIF_EXPR, type, 2);
					    {
					      tree _o1[2], _r1;
					      _o1[0] = captures[0];
					      _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
					      gimple_match_op tem_op (res_op->cond.any_else (), GE_EXPR, type, _o1[0], _o1[1]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail735;
					      res_op->ops[0] = _r1;
					    }
					    {
					      tree _o1[2], _r1;
					      _o1[0] = captures[0];
					      _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
					      gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, type, _o1[0], _o1[1]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail735;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail735:;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  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", 5542, __FILE__, __LINE__);
					  {
					    res_op->set_op (TRUTH_ANDIF_EXPR, type, 2);
					    {
					      tree _o1[2], _r1;
					      _o1[0] = captures[0];
					      _o1[1] =  build_real (TREE_TYPE (captures[0]), dconst0);
					      gimple_match_op tem_op (res_op->cond.any_else (), GE_EXPR, type, _o1[0], _o1[1]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail736;
					      res_op->ops[0] = _r1;
					    }
					    {
					      tree _o1[2], _r1;
					      _o1[0] = captures[0];
					      _o1[1] =  build_real (TREE_TYPE (captures[0]), c2);
					      gimple_match_op tem_op (res_op->cond.any_else (), LE_EXPR, type, _o1[0], _o1[1]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail736;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail736:;
					}
				    }
				}
			    }
			}
		  }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_386 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1921, __FILE__, __LINE__);
  {
    tree tem;
    tem =  build_zero_cst (type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail737:;
  return false;
}

static bool
gimple_simplify_387 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 321 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 322, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail738;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail738:;
    }
  return false;
}

static bool
gimple_simplify_388 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
    {
      gimple_seq *lseq = seq;
      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", 5779, __FILE__, __LINE__);
      {
	res_op->set_op (scmp, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail739:;
    }
  return false;
}

static bool
gimple_simplify_389 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7586, __FILE__, __LINE__);
      {
	res_op->set_op (CFN_FNMS, type, 3);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->ops[2] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail740:;
    }
  return false;
}

static bool
gimple_simplify_390 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  gimple_seq *lseq = seq;
	  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", 2789, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[3];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail741:;
	}
      else
	{
/* #line 2790 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (code1 == NE_EXPR && val
)
	    {
	      gimple_seq *lseq = seq;
	      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", 2790, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (true, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail742:;
	    }
	  else
	    {
/* #line 2791 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  gimple_seq *lseq = seq;
		  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", 2791, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail743:;
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_391 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 5585 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (fmt.can_represent_integral_type_p (itype) && ! exception_p
)
	    {
	      {
/* #line 5603 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (real_compare (LT_EXPR, cst, &imin)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 5627, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (cmp == GT_EXPR || cmp == GE_EXPR || cmp == NE_EXPR,
 type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail744:;
		    }
		  else
		    {
/* #line 5629 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (real_compare (GT_EXPR, cst, &imax)
)
			{
			  gimple_seq *lseq = seq;
			  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", 5630, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (cmp == LT_EXPR || cmp == LE_EXPR || cmp == NE_EXPR,
 type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail745:;
			}
		      else
			{
/* #line 5633 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cst_int_p
)
			    {
			      gimple_seq *lseq = seq;
			      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", 5634, __FILE__, __LINE__);
			      {
				res_op->set_op (cmp, type, 2);
				res_op->ops[0] = captures[0];
 gcc_assert (!overflow_p);				res_op->ops[1] = 
 wide_int_to_tree (itype, icst_val);
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail746:;
			    }
			  else
			    {
/* #line 5640 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  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", 5641, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (cmp == NE_EXPR, type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail747:;
				}
			      else
				{
				  {
/* #line 5643 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 gcc_checking_assert (!overflow_p);
				      gimple_seq *lseq = seq;
				      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", 5647, __FILE__, __LINE__);
				      {
					res_op->set_op (icmp, type, 2);
					res_op->ops[0] = captures[0];
					res_op->ops[1] =  wide_int_to_tree (itype, icst_val);
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail748:;
				  }
				}
			    }
			}
		    }
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_392 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (eqne))
{
/* #line 2627 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (eqne == EQ_EXPR
)
    {
      gimple_seq *lseq = seq;
      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", 2628, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (false, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail749:;
    }
  else
    {
/* #line 2629 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (eqne == NE_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  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", 2630, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail750:;
	}
    }
  return false;
}

static bool
gimple_simplify_393 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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
)
    {
      gimple_seq *lseq = seq;
      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", 1574, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_IOR_EXPR, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail751;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[3];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail751;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail751:;
    }
  return false;
}

static bool
gimple_simplify_394 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
/* #line 7118 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (TYPE_PRECISION (long_long_integer_type_node)
 == TYPE_PRECISION (long_integer_type_node)
)
	{
	  gimple_seq *lseq = seq;
	  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", 7122, __FILE__, __LINE__);
	  {
	    res_op->set_op (lfn, type, 1);
	    res_op->ops[0] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail752:;
	}
    }
  return false;
}

static bool
gimple_simplify_395 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2224 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (code == LT_EXPR || code == GE_EXPR
)
	    {
/* #line 2233 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (TREE_OVERFLOW (lo)
)
		{
		  gimple_seq *lseq = seq;
		  if (lseq
		      && (!single_use (captures[0])))
		    lseq = NULL;
		  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", 2234, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  build_int_cst (type, (code == LT_EXPR) ^ neg_overflow);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail753:;
		}
	      else
		{
/* #line 2235 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (code == LT_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])))
		        lseq = NULL;
		      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", 2236, __FILE__, __LINE__);
		      {
			res_op->set_op (LT_EXPR, type, 2);
			res_op->ops[0] = captures[1];
			res_op->ops[1] =  lo;
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail754:;
		    }
		  else
		    {
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])))
		        lseq = NULL;
		      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", 2237, __FILE__, __LINE__);
		      {
			res_op->set_op (GE_EXPR, type, 2);
			res_op->ops[0] = captures[1];
			res_op->ops[1] =  lo;
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail755:;
		    }
		}
	    }
	  else
	    {
/* #line 2238 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (code == LE_EXPR || code == GT_EXPR
)
		{
/* #line 2239 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (TREE_OVERFLOW (hi)
)
		    {
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])))
		        lseq = NULL;
		      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", 2240, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  build_int_cst (type, (code == LE_EXPR) ^ neg_overflow);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail756:;
		    }
		  else
		    {
/* #line 2241 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (code == LE_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[0])))
			    lseq = NULL;
			  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", 2242, __FILE__, __LINE__);
			  {
			    res_op->set_op (LE_EXPR, type, 2);
			    res_op->ops[0] = captures[1];
			    res_op->ops[1] =  hi;
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail757:;
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[0])))
			    lseq = NULL;
			  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", 2243, __FILE__, __LINE__);
			  {
			    res_op->set_op (GT_EXPR, type, 2);
			    res_op->ops[0] = captures[1];
			    res_op->ops[1] =  hi;
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail758:;
			}
		    }
		}
	      else
		{
/* #line 2244 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (!lo && !hi
)
		    {
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])))
		        lseq = NULL;
		      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", 2245, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  build_int_cst (type, code == NE_EXPR);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail759:;
		    }
		  else
		    {
/* #line 2246 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (code == EQ_EXPR && !hi
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[0])))
			    lseq = NULL;
			  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", 2247, __FILE__, __LINE__);
			  {
			    res_op->set_op (GE_EXPR, type, 2);
			    res_op->ops[0] = captures[1];
			    res_op->ops[1] =  lo;
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail760:;
			}
		      else
			{
/* #line 2248 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (code == EQ_EXPR && !lo
)
			    {
			      gimple_seq *lseq = seq;
			      if (lseq
			          && (!single_use (captures[0])))
			        lseq = NULL;
			      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", 2249, __FILE__, __LINE__);
			      {
				res_op->set_op (LE_EXPR, type, 2);
				res_op->ops[0] = captures[1];
				res_op->ops[1] =  hi;
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail761:;
			    }
			  else
			    {
/* #line 2250 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (code == NE_EXPR && !hi
)
				{
				  gimple_seq *lseq = seq;
				  if (lseq
				      && (!single_use (captures[0])))
				    lseq = NULL;
				  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", 2251, __FILE__, __LINE__);
				  {
				    res_op->set_op (LT_EXPR, type, 2);
				    res_op->ops[0] = captures[1];
				    res_op->ops[1] =  lo;
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail762:;
				}
			      else
				{
/* #line 2252 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (code == NE_EXPR && !lo
)
				    {
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[0])))
				        lseq = NULL;
				      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", 2253, __FILE__, __LINE__);
				      {
					res_op->set_op (GT_EXPR, type, 2);
					res_op->ops[0] = captures[1];
					res_op->ops[1] =  hi;
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail763:;
				    }
				  else
				    {
/* #line 2254 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (0
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])))
					    lseq = NULL;
					  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", 2255, __FILE__, __LINE__);
					  {
					    tree tem;
					    tem =  build_range_check (UNKNOWN_LOCATION, type, captures[1], code == EQ_EXPR,
 lo, hi);
					    res_op->set_value (tem);
					    return true;
					  }
next_after_fail764:;
					}
				      else
					{
					  {
/* #line 2257 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (etype && hi && !TREE_OVERFLOW (hi)
)
						{
/* #line 2268 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (code == EQ_EXPR
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])))
						        lseq = NULL;
						      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", 2269, __FILE__, __LINE__);
						      {
							res_op->set_op (LE_EXPR, type, 2);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[1], _r2;
							    _o2[0] = captures[1];
							    if (etype != TREE_TYPE (_o2[0])
							        && !useless_type_conversion_p (etype, TREE_TYPE (_o2[0])))
							      {
								gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, etype, _o2[0]);
								tem_op.resimplify (lseq, valueize);
								_r2 = maybe_push_res_to_seq (&tem_op, lseq);
								if (!_r2) goto next_after_fail765;
							      }
							    else
							      _r2 = _o2[0];
							    _o1[0] = _r2;
							  }
							  _o1[1] =  lo;
							  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail765;
							  res_op->ops[0] = _r1;
							}
							res_op->ops[1] =  hi;
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail765:;
						    }
						  else
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])))
						        lseq = NULL;
						      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", 2270, __FILE__, __LINE__);
						      {
							res_op->set_op (GT_EXPR, type, 2);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[1], _r2;
							    _o2[0] = captures[1];
							    if (etype != TREE_TYPE (_o2[0])
							        && !useless_type_conversion_p (etype, TREE_TYPE (_o2[0])))
							      {
								gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, etype, _o2[0]);
								tem_op.resimplify (lseq, valueize);
								_r2 = maybe_push_res_to_seq (&tem_op, lseq);
								if (!_r2) goto next_after_fail766;
							      }
							    else
							      _r2 = _o2[0];
							    _o1[0] = _r2;
							  }
							  _o1[1] =  lo;
							  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail766;
							  res_op->ops[0] = _r1;
							}
							res_op->ops[1] =  hi;
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail766:;
						    }
						}
					  }
					}
				    }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_396 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 4948 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (wi::eq_p (wi::bit_not (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
)
    {
      gimple_seq *lseq = seq;
      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", 4949, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[2];
	res_op->set_value (tem);
	return true;
      }
next_after_fail767:;
    }
  return false;
}

static bool
gimple_simplify_397 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 3817 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (tree_to_shwi (captures[3]) > wi::ctz (wi::to_wide (captures[5]))
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[1])))
	    lseq = NULL;
	  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", 3821, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem =  constant_boolean_node (cmp == NE_EXPR, type);
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail768:;
	}
      else
	{
	  {
/* #line 3822 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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);
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[1])))
	        lseq = NULL;
	      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", 3825, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), c2);
		  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail769;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] =  wide_int_to_tree (TREE_TYPE (captures[2]), c3);
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail769:;
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_398 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 4725 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (code == MAX_EXPR
)
	{
	  gimple_seq *lseq = seq;
	  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", 4777, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[0];
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[2];
		if (TREE_TYPE (_o1[0]) != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (TREE_TYPE (_o1[0]), TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail770;
		  }
		else
		  _r2 = _o2[0];
		_o1[1] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail770;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail770:;
	}
      else
	{
/* #line 4778 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (code == MIN_EXPR
)
	    {
	      gimple_seq *lseq = seq;
	      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", 4779, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (TREE_TYPE (_o1[0]) != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (TREE_TYPE (_o1[0]), TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail771;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail771;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail771:;
	    }
	  else
	    {
/* #line 4780 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (code == EQ_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  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", 4781, __FILE__, __LINE__);
		  {
		    res_op->set_op (NOP_EXPR, type, 1);
		    {
		      tree _o1[3], _r1;
		      {
			tree _o2[2], _r2;
			_o2[0] = captures[0];
			{
			  tree _o3[1], _r3;
			  _o3[0] = captures[1];
			  if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o3[0])
			      && !useless_type_conversion_p (TREE_TYPE (_o2[0]), TREE_TYPE (_o3[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r3) goto next_after_fail772;
			    }
			  else
			    _r3 = _o3[0];
			  _o2[1] = _r3;
			}
			gimple_match_op tem_op (res_op->cond.any_else (), EQ_EXPR, boolean_type_node, _o2[0], _o2[1]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail772;
			_o1[0] = _r2;
		      }
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[1];
			if (from_type != TREE_TYPE (_o2[0])
			    && !useless_type_conversion_p (from_type, TREE_TYPE (_o2[0])))
			  {
			    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, from_type, _o2[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail772;
			  }
			else
			  _r2 = _o2[0];
			_o1[1] = _r2;
		      }
		      {
			tree _o2[1], _r2;
			_o2[0] = captures[2];
			if (from_type != TREE_TYPE (_o2[0])
			    && !useless_type_conversion_p (from_type, TREE_TYPE (_o2[0])))
			  {
			    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, from_type, _o2[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail772;
			  }
			else
			  _r2 = _o2[0];
			_o1[2] = _r2;
		      }
		      gimple_match_op tem_op (res_op->cond.any_else (), COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail772;
		      res_op->ops[0] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail772:;
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_399 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
 && targetm.libc_has_function (function_c99_misc, NULL_TREE)
)
    {
      gimple_seq *lseq = seq;
      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", 6991, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), tos, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail773;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail773:;
    }
  return false;
}

static bool
gimple_simplify_400 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1215, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_IOR_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[3];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail774:;
  return false;
}

static bool
gimple_simplify_401 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (FMAX_ALL))
{
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_finite_math_only
)
    {
      gimple_seq *lseq = seq;
      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", 3539, __FILE__, __LINE__);
      {
	res_op->set_op (MAX_EXPR, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail775:;
    }
  return false;
}

static bool
gimple_simplify_402 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 7230, __FILE__, __LINE__);
	  {
	    res_op->set_op (op, type, 2);
	    res_op->ops[0] = captures[2];
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[4];
	      if (type != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail776;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail776:;
	}
      else
	{
	  {
/* #line 7231 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      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", 7232, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (utype != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail777;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[4];
		    if (utype != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail777;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail777;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail777:;
	  }
	}
    }
  else
    {
/* #line 7234 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 7245 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if ((newtype == dfloat32_type_node
 || newtype == dfloat64_type_node
 || newtype == dfloat128_type_node)
 && newtype == type
 && types_match (newtype, type)
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[0])))
			    lseq = NULL;
			  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", 7263, __FILE__, __LINE__);
			  {
			    res_op->set_op (op, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[2];
			      if (newtype != TREE_TYPE (_o1[0])
			          && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail778;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[4];
			      if (newtype != TREE_TYPE (_o1[0])
			          && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail778;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail778:;
			}
		      else
			{
			  {
/* #line 7264 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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)
)
				{
				  gimple_seq *lseq = seq;
				  if (lseq
				      && (!single_use (captures[0])))
				    lseq = NULL;
				  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", 7296, __FILE__, __LINE__);
				  {
				    res_op->set_op (NOP_EXPR, type, 1);
				    {
				      tree _o1[2], _r1;
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[2];
					if (newtype != TREE_TYPE (_o2[0])
					    && !useless_type_conversion_p (newtype, TREE_TYPE (_o2[0])))
					  {
					    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail779;
					  }
					else
					  _r2 = _o2[0];
					_o1[0] = _r2;
				      }
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[4];
					if (newtype != TREE_TYPE (_o2[0])
					    && !useless_type_conversion_p (newtype, TREE_TYPE (_o2[0])))
					  {
					    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail779;
					  }
					else
					  _r2 = _o2[0];
					_o1[1] = _r2;
				      }
				      gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail779;
				      res_op->ops[0] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail779:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_403 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3073 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 3079, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[0];
		  _o1[1] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (NULL, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, NULL);
		  if (!_r1) goto next_after_fail780;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail780:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_404 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      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", 2204, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		res_op->ops[0] = captures[3];
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail781:;
	    }
	  else
	    {
/* #line 2205 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (tree_expr_nonzero_p (captures[1]) && tree_expr_nonzero_p (captures[3])
)
		{
		  {
/* #line 2206 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
		      gimple_seq *lseq = seq;
		      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", 2210, __FILE__, __LINE__);
		      {
			res_op->set_op (cmp, type, 2);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[3];
			  if (utype != TREE_TYPE (_o1[0])
			      && !useless_type_conversion_p (utype, TREE_TYPE (_o1[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail782;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[0] = _r1;
			}
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[1];
			  if (utype != TREE_TYPE (_o1[0])
			      && !useless_type_conversion_p (utype, TREE_TYPE (_o1[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail782;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[1] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail782:;
		  }
		}
	    }
	}
      else
	{
/* #line 2211 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (TYPE_UNSIGNED (TREE_TYPE (captures[1])) || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
		{
		  gimple_seq *lseq = seq;
		  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", 2213, __FILE__, __LINE__);
		  {
		    res_op->set_op (cmp, type, 2);
		    res_op->ops[0] = captures[1];
		    res_op->ops[1] = captures[3];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail783:;
		}
	      else
		{
		  {
/* #line 2214 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[1]));
		      gimple_seq *lseq = seq;
		      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", 2218, __FILE__, __LINE__);
		      {
			res_op->set_op (cmp, type, 2);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[1];
			  if (utype != TREE_TYPE (_o1[0])
			      && !useless_type_conversion_p (utype, TREE_TYPE (_o1[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail784;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[0] = _r1;
			}
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[3];
			  if (utype != TREE_TYPE (_o1[0])
			      && !useless_type_conversion_p (utype, TREE_TYPE (_o1[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail784;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[1] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail784:;
		  }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_405 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 3439 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TREE_CODE (type) != COMPLEX_TYPE
 && (! ANY_INTEGRAL_TYPE_P (type)
 || TYPE_OVERFLOW_UNDEFINED (type))
)
    {
      gimple_seq *lseq = seq;
      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", 3442, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail785;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail785:;
    }
  return false;
}

static bool
gimple_simplify_406 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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,
0
);
/* #line 6118 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 6120 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (cmp == EQ_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
)
	    {
	      gimple_seq *lseq = seq;
	      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", 6121, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (known_eq (off0, off1), type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail786:;
	    }
	  else
	    {
/* #line 6122 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == NE_EXPR && (known_eq (off0, off1) || known_ne (off0, off1))
)
		{
		  gimple_seq *lseq = seq;
		  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", 6123, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (known_ne (off0, off1), type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail787:;
		}
	      else
		{
/* #line 6124 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == LT_EXPR && (known_lt (off0, off1) || known_ge (off0, off1))
)
		    {
		      gimple_seq *lseq = seq;
		      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", 6125, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (known_lt (off0, off1), type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail788:;
		    }
		  else
		    {
/* #line 6126 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == LE_EXPR && (known_le (off0, off1) || known_gt (off0, off1))
)
			{
			  gimple_seq *lseq = seq;
			  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", 6127, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (known_le (off0, off1), type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail789:;
			}
		      else
			{
/* #line 6128 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == GE_EXPR && (known_ge (off0, off1) || known_lt (off0, off1))
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6129, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  constant_boolean_node (known_ge (off0, off1), type);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail790:;
			    }
			  else
			    {
/* #line 6130 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (cmp == GT_EXPR && (known_gt (off0, off1) || known_le (off0, off1))
)
				{
				  gimple_seq *lseq = seq;
				  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", 6131, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (known_gt (off0, off1), type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail791:;
				}
			    }
			}
		    }
		}
	    }
	}
      else
	{
/* #line 6132 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (equal == 0
)
	    {
/* #line 6134 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == EQ_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  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", 6135, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (false, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail792:;
		}
	      else
		{
/* #line 6136 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == NE_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      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", 6137, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (true, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail793:;
		    }
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_407 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop))
{
/* #line 1802 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 ||
1
)
 && (
 TYPE_PRECISION (TREE_TYPE (captures[1])) < TYPE_PRECISION (type)
 || (
1
 && TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (type))
 || GET_MODE_CLASS (TYPE_MODE (type)) != MODE_INT
 || !type_has_mode_precision_p (type)
 || (
1
 && TREE_CODE (captures[3]) != INTEGER_CST
 && tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && single_use (captures[0])
 && single_use (captures[2])))
)
    {
      gimple_seq *lseq = seq;
      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", 1837, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[3];
	    if (TREE_TYPE (_o1[0]) != TREE_TYPE (_o2[0])
	        && !useless_type_conversion_p (TREE_TYPE (_o1[0]), TREE_TYPE (_o2[0])))
	      {
		gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail794;
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail794;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail794:;
    }
  return false;
}

static bool
gimple_simplify_408 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 3642 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && TYPE_PRECISION (type) > 1
 && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])))
)
    {
      gimple_seq *lseq = seq;
      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", 3645, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    {
	      tree _o3[1], _r3;
	      _o3[0] = captures[0];
	      if (type != TREE_TYPE (_o3[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o3[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o3[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r3) goto next_after_fail795;
	        }
	      else
	        _r3 = _o3[0];
	      _o2[0] = _r3;
	    }
	    gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail795;
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[2];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail795;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail795:;
    }
  return false;
}

static bool
gimple_simplify_409 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (neeq))
{
/* #line 6143 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
 && ptrs_compare_unequal (captures[0], captures[1])
)
    {
      gimple_seq *lseq = seq;
      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", 6145, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (neeq != EQ_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail796:;
    }
  return false;
}

static bool
gimple_simplify_410 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop))
{
/* #line 1842 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (1
 && 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
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[1])))
        lseq = NULL;
      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", 1848, __FILE__, __LINE__);
      {
	res_op->set_op (bitop, type, 2);
	res_op->ops[0] = captures[2];
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[3];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail797;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail797:;
    }
  return false;
}

static bool
gimple_simplify_411 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
)
    {
      gimple_seq *lseq = seq;
      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", 2321, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] = captures[3];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail798:;
    }
  return false;
}

static bool
gimple_simplify_412 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])))
    lseq = NULL;
  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", 1135, __FILE__, __LINE__);
  {
    res_op->set_op (MINUS_EXPR, type, 2);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail799;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] = captures[2];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail799:;
  return false;
}

static bool
gimple_simplify_413 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7572, __FILE__, __LINE__);
      {
	res_op->set_op (CFN_FNMA, type, 3);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->ops[2] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail800:;
    }
  return false;
}

static bool
gimple_simplify_414 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (bswap))
{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (bits < prec
 && mask < (256u>>lo)
 && bits < TYPE_PRECISION (TREE_TYPE(captures[0]))
)
	    {
	      {
/* #line 4389 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 unsigned HOST_WIDE_INT ns = (prec - (hi + 8)) + lo;
/* #line 4390 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (ns == 0
)
		    {
		      gimple_seq *lseq = seq;
		      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", 4391, __FILE__, __LINE__);
		      {
			res_op->set_op (BIT_AND_EXPR, type, 2);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  if (type != TREE_TYPE (_o1[0])
			      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail801;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[0] = _r1;
			}
			res_op->ops[1] = captures[4];
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail801:;
		    }
		  else
		    {
		      {
/* #line 4392 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
 tree nst = build_int_cst (integer_type_node, ns);
			  gimple_seq *lseq = seq;
			  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", 4397, __FILE__, __LINE__);
			  {
			    res_op->set_op (BIT_AND_EXPR, type, 2);
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[2], _r2;
				{
				  tree _o3[1], _r3;
				  _o3[0] = captures[2];
				  if (utype != TREE_TYPE (_o3[0])
				      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
				    {
				      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r3) goto next_after_fail802;
				    }
				  else
				    _r3 = _o3[0];
				  _o2[0] = _r3;
				}
				_o2[1] = nst;
				gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, utype, _o2[0], _o2[1]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail802;
				_o1[0] = _r2;
			      }
			      if (type != TREE_TYPE (_o1[0])
			          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail802;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[0] = _r1;
			    }
			    res_op->ops[1] = captures[4];
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail802:;
		      }
		    }
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_415 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_single_nonzero_warnv_p (captures[0], NULL)
)
    {
      gimple_seq *lseq = seq;
      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", 5969, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == NE_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail803:;
    }
  return false;
}

static bool
gimple_simplify_416 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 314, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail804;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail804:;
    }
  return false;
}

static bool
gimple_simplify_417 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TREE_CODE (captures[1]) != INTEGER_CST
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[3])))
        lseq = NULL;
      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", 7345, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	res_op->ops[0] = captures[1];
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[2];
	  _o1[1] = captures[4];
	  gimple_match_op tem_op (res_op->cond.any_else (), ext, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail805;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail805:;
    }
  return false;
}

static bool
gimple_simplify_418 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 5076 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))))
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[1])))
        lseq = NULL;
      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", 5081, __FILE__, __LINE__);
      {
	res_op->set_op (PLUS_EXPR, type, 2);
	res_op->ops[0] = captures[0];
	{
	  tree _o1[1], _r1;
	  {
	    tree _o2[3], _r2;
	    _o2[0] = captures[2];
	    {
	      tree _o3[1], _r3;
	      _o3[0] = captures[3];
	      gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r3) goto next_after_fail806;
	      _o2[1] = _r3;
	    }
	    _o2[2] = captures[4];
	    gimple_match_op tem_op (res_op->cond.any_else (), VEC_COND_EXPR, TREE_TYPE (_o2[1]), _o2[0], _o2[1], _o2[2]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail806;
	    _o1[0] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail806;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail806:;
    }
  return false;
}

static bool
gimple_simplify_419 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[3])))
    lseq = NULL;
  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", 1144, __FILE__, __LINE__);
  {
    res_op->set_op (MINUS_EXPR, type, 2);
    res_op->ops[0] = captures[2];
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail807;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail807:;
  return false;
}

static bool
gimple_simplify_420 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 2374, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	res_op->ops[0] = captures[2];
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[2]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail808:;
    }
  return false;
}

static bool
gimple_simplify_421 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 unsigned int prec = TYPE_PRECISION (TREE_TYPE (captures[3]));
 signop sign = TYPE_SIGN (TREE_TYPE (captures[3]));
	  gimple_seq *lseq = seq;
	  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", 6341, __FILE__, __LINE__);
	  {
	    res_op->set_op (out, type, 2);
	    res_op->ops[0] = captures[3];
	    res_op->ops[1] =  wide_int_to_tree (TREE_TYPE (captures[3]),
 wi::max_value (prec, sign)
 - wi::to_wide (captures[4]));
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail809:;
      }
    }
  return false;
}

static bool
gimple_simplify_422 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  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", 1150, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_XOR_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail810:;
  return false;
}

static bool
gimple_simplify_423 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 1245 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (utype
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[1])))
	    lseq = NULL;
	  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", 1251, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[0];
		  if (utype != TREE_TYPE (_o3[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r3) goto next_after_fail811;
		    }
		  else
		    _r3 = _o3[0];
		  _o2[0] = _r3;
		}
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[1];
		  if (utype != TREE_TYPE (_o3[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r3) goto next_after_fail811;
		    }
		  else
		    _r3 = _o3[0];
		  _o2[1] = _r3;
		}
		gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail811;
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[5];
		if (utype != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail811;
		  }
		else
		  _r2 = _o2[0];
		_o1[1] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail811;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail811:;
	}
  }
  return false;
}

static bool
gimple_simplify_424 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 4232 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TREE_CODE (TREE_TYPE (captures[1])) != COMPLEX_TYPE
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])))
        lseq = NULL;
      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", 4233, __FILE__, __LINE__);
      {
	res_op->set_op (EQ_EXPR, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[2];
	  gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail812;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail812:;
    }
  return false;
}

static bool
gimple_simplify_425 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.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))))
)
    {
      gimple_seq *lseq = seq;
      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", 3568, __FILE__, __LINE__);
      {
	res_op->set_op (out, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail813:;
    }
  return false;
}

static bool
gimple_simplify_426 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 170 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
 && wi::to_widest (captures[2]) == element_precision (TREE_TYPE (captures[0])) - 1
)
    {
      gimple_seq *lseq = seq;
      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", 173, __FILE__, __LINE__);
      {
	res_op->set_op (ABS_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail814:;
    }
  return false;
}

static bool
gimple_simplify_427 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 4939 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 4943, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[2];
	res_op->set_value (tem);
	return true;
      }
next_after_fail815:;
    }
  return false;
}

static bool
gimple_simplify_428 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])))
    lseq = NULL;
  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", 1169, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_NOT_EXPR, type, 1);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[1];
      _o1[1] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail816;
      res_op->ops[0] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail816:;
  return false;
}

static bool
gimple_simplify_429 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7606, __FILE__, __LINE__);
      {
	res_op->set_op (CFN_FMS, type, 3);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->ops[2] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail817:;
    }
  return false;
}

static bool
gimple_simplify_430 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (logs), const combined_fn ARG_UNUSED (pows))
{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      gimple_seq *lseq = seq;
      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", 6612, __FILE__, __LINE__);
      {
	res_op->set_op (MULT_EXPR, type, 2);
	res_op->ops[0] = captures[1];
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), logs, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail818;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail818:;
    }
  return false;
}

static bool
gimple_simplify_431 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2707 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (code1 == EQ_EXPR && val
)
	{
	  gimple_seq *lseq = seq;
	  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", 2723, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail819:;
	}
      else
	{
/* #line 2724 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (code1 == EQ_EXPR && !val
)
	    {
	      gimple_seq *lseq = seq;
	      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", 2724, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (false, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail820:;
	    }
	  else
	    {
/* #line 2725 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (code1 == NE_EXPR && !val
)
		{
		  gimple_seq *lseq = seq;
		  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", 2725, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[3];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail821:;
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_432 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1179, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_AND_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail822:;
  return false;
}

static bool
gimple_simplify_433 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5188 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 5191, __FILE__, __LINE__);
      {
	res_op->set_op (LT_EXPR, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[3];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail823;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[1]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail823:;
    }
  return false;
}

static bool
gimple_simplify_434 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (types_match (type, TREE_TYPE (captures[0]))
)
    {
      {
/* #line 5155 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[1]));
/* #line 5157 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (ic == icmp
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5158, __FILE__, __LINE__);
	      {
		res_op->set_op (icmp, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail824:;
	    }
	  else
	    {
/* #line 5159 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (ic == ncmp
)
		{
		  gimple_seq *lseq = seq;
		  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", 5160, __FILE__, __LINE__);
		  {
		    res_op->set_op (ncmp, type, 2);
		    res_op->ops[0] = captures[1];
		    res_op->ops[1] = captures[2];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail825:;
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_435 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[1])))
    lseq = NULL;
  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", 1184, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_IOR_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail826;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail826:;
  return false;
}

static bool
gimple_simplify_436 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 2920, __FILE__, __LINE__);
	  {
	    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
	    res_op->ops[0] = captures[1];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail827:;
	}
    }
  return false;
}

static bool
gimple_simplify_437 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop), const combined_fn ARG_UNUSED (bswap))
{
  gimple_seq *lseq = seq;
  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", 4361, __FILE__, __LINE__);
  {
    res_op->set_op (bitop, type, 2);
    res_op->ops[0] = captures[0];
    {
      tree _o1[1], _r1;
      _o1[0] = captures[1];
      gimple_match_op tem_op (res_op->cond.any_else (), bswap, TREE_TYPE (_o1[0]), _o1[0]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail828;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail828:;
  return false;
}

static bool
gimple_simplify_438 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (div))
{
/* #line 680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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
)
    {
      gimple_seq *lseq = seq;
      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", 684, __FILE__, __LINE__);
      {
	res_op->set_op (RSHIFT_EXPR, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail829;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_int_cst (integer_type_node,
 wi::exact_log2 (wi::to_wide (captures[2])));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail829:;
    }
  return false;
}

static bool
gimple_simplify_439 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (out))
{
/* #line 6388 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
)
    {
      {
/* #line 6389 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 6390, __FILE__, __LINE__);
	  {
	    res_op->set_op (out, type, 2);
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		_o2[0] = captures[2];
		_o2[1] = captures[1];
		gimple_match_op tem_op (res_op->cond.any_else (), CFN_MUL_OVERFLOW, cpx, _o2[0], _o2[1]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail830;
		_o1[0] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail830;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] =  build_zero_cst (t);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail830:;
      }
    }
  return false;
}

static bool
gimple_simplify_440 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6351 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (single_use (captures[0])
 && ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 6354, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[2];
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail831:;
    }
  return false;
}

static bool
gimple_simplify_441 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])))
    lseq = NULL;
  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", 1200, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_IOR_EXPR, type, 2);
    res_op->ops[0] = captures[1];
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail832;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail832:;
  return false;
}

static bool
gimple_simplify_442 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 5014, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[1];
	res_op->set_value (tem);
	return true;
      }
next_after_fail833:;
    }
  return false;
}

static bool
gimple_simplify_443 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])))
    lseq = NULL;
  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", 1205, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_AND_EXPR, type, 2);
    res_op->ops[0] = captures[1];
    {
      tree _o1[1], _r1;
      _o1[0] = captures[2];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail834;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail834:;
  return false;
}

static bool
gimple_simplify_444 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2305 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 2307, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail835:;
    }
  return false;
}

static bool
gimple_simplify_445 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 728 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!integer_zerop (captures[0])
)
    {
      gimple_seq *lseq = seq;
      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", 729, __FILE__, __LINE__);
      {
	tree tem;
	tem =  build_zero_cst (type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail836:;
    }
  return false;
}

static bool
gimple_simplify_446 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[3])
          || !single_use (captures[4])))
    lseq = NULL;
  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", 1210, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_AND_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    {
      tree _o1[1], _r1;
      _o1[0] = captures[5];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail837;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail837:;
  return false;
}

static bool
gimple_simplify_447 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6399 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 6411, __FILE__, __LINE__);
	  {
	    res_op->set_op (cmp, type, 2);
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		_o2[0] = captures[2];
		_o2[1] = captures[3];
		gimple_match_op tem_op (res_op->cond.any_else (), CFN_MUL_OVERFLOW, cpx, _o2[0], _o2[1]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail838;
		_o1[0] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail838;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] =  build_zero_cst (t);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail838:;
      }
    }
  return false;
}

static bool
gimple_simplify_448 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  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", 1190, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail839:;
  return false;
}

static bool
gimple_simplify_449 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6176 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (wi::to_wide (cst) == max
)
	    {
/* #line 6192 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == GT_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  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", 6193, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (false, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail840:;
		}
	      else
		{
/* #line 6194 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == GE_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      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", 6195, __FILE__, __LINE__);
		      {
			res_op->set_op (EQ_EXPR, type, 2);
			res_op->ops[0] = captures[0];
			res_op->ops[1] = captures[2];
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail841:;
		    }
		  else
		    {
/* #line 6196 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  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", 6197, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (true, type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail842:;
			}
		      else
			{
/* #line 6198 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == LT_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6199, __FILE__, __LINE__);
			      {
				res_op->set_op (NE_EXPR, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] = captures[2];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail843:;
			    }
			}
		    }
		}
	    }
	  else
	    {
/* #line 6200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (wi::to_wide (cst) == min
)
		{
/* #line 6202 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == LT_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      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", 6203, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (false, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail844:;
		    }
		  else
		    {
/* #line 6204 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == LE_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  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", 6205, __FILE__, __LINE__);
			  {
			    res_op->set_op (EQ_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] = captures[2];
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail845:;
			}
		      else
			{
/* #line 6206 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6207, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  constant_boolean_node (true, type);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail846:;
			    }
			  else
			    {
/* #line 6208 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (cmp == GT_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  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", 6209, __FILE__, __LINE__);
				  {
				    res_op->set_op (NE_EXPR, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] = captures[2];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail847:;
				}
			    }
			}
		    }
		}
	      else
		{
/* #line 6210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (wi::to_wide (cst) == max - 1
)
		    {
/* #line 6212 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == GT_EXPR
)
			{
			  gimple_seq *lseq = seq;
			  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", 6213, __FILE__, __LINE__);
			  {
			    res_op->set_op (EQ_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 + 1));
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail848:;
			}
		      else
			{
/* #line 6217 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == LE_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6218, __FILE__, __LINE__);
			      {
				res_op->set_op (NE_EXPR, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 + 1));
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail849:;
			    }
			}
		    }
		  else
		    {
/* #line 6222 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (wi::to_wide (cst) == min + 1
)
			{
/* #line 6224 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == GE_EXPR
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6225, __FILE__, __LINE__);
			      {
				res_op->set_op (NE_EXPR, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 - 1));
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail850:;
			    }
			  else
			    {
/* #line 6229 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (cmp == LT_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  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", 6230, __FILE__, __LINE__);
				  {
				    res_op->set_op (EQ_EXPR, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] =  build_uniform_cst (TREE_TYPE (captures[2]),
 wide_int_to_tree (TREE_TYPE (cst),
 wi::to_wide (cst)
 - 1));
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail851:;
				}
			    }
			}
		      else
			{
/* #line 6234 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (cmp == LE_EXPR || cmp == GT_EXPR
)
				{
				  {
/* #line 6246 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree st = signed_type_for (TREE_TYPE (captures[2]));
/* #line 6248 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (cst == captures[2] && cmp == LE_EXPR
)
					{
					  gimple_seq *lseq = seq;
					  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", 6249, __FILE__, __LINE__);
					  {
					    res_op->set_op (GE_EXPR, type, 2);
					    {
					      tree _o1[1], _r1;
					      _o1[0] = captures[1];
					      if (st != TREE_TYPE (_o1[0])
					          && !useless_type_conversion_p (st, TREE_TYPE (_o1[0])))
						{
						  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, st, _o1[0]);
						  tem_op.resimplify (lseq, valueize);
						  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						  if (!_r1) goto next_after_fail852;
					        }
					      else
					        _r1 = _o1[0];
					      res_op->ops[0] = _r1;
					    }
					    res_op->ops[1] =  build_zero_cst (st);
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail852:;
					}
				      else
					{
/* #line 6250 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  if (cst == captures[2] && cmp == GT_EXPR
)
					    {
					      gimple_seq *lseq = seq;
					      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", 6251, __FILE__, __LINE__);
					      {
						res_op->set_op (LT_EXPR, type, 2);
						{
						  tree _o1[1], _r1;
						  _o1[0] = captures[1];
						  if (st != TREE_TYPE (_o1[0])
						      && !useless_type_conversion_p (st, TREE_TYPE (_o1[0])))
						    {
						      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, st, _o1[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail853;
						    }
						  else
						    _r1 = _o1[0];
						  res_op->ops[0] = _r1;
						}
						res_op->ops[1] =  build_zero_cst (st);
						res_op->resimplify (lseq, valueize);
						return true;
					      }
next_after_fail853:;
					    }
					  else
					    {
/* #line 6252 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (cmp == LE_EXPR
)
						{
						  gimple_seq *lseq = seq;
						  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", 6253, __FILE__, __LINE__);
						  {
						    res_op->set_op (GE_EXPR, type, 2);
						    {
						      tree _o1[1], _r1;
						      _o1[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, st, _o1[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail854;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  build_zero_cst (st);
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail854:;
						}
					      else
						{
/* #line 6254 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (cmp == GT_EXPR
)
						    {
						      gimple_seq *lseq = seq;
						      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", 6255, __FILE__, __LINE__);
						      {
							res_op->set_op (LT_EXPR, type, 2);
							{
							  tree _o1[1], _r1;
							  _o1[0] = captures[1];
							  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, st, _o1[0]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail855;
							  res_op->ops[0] = _r1;
							}
							res_op->ops[1] =  build_zero_cst (st);
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail855:;
						    }
						}
					    }
					}
				  }
				}
			    }
			}
		    }
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_450 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1215, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_IOR_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[3];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail856:;
  return false;
}

static bool
gimple_simplify_451 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[1])))
    lseq = NULL;
  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", 1220, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_XOR_EXPR, type, 2);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[2];
      _o1[1] = captures[3];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail857;
      res_op->ops[0] = _r1;
    }
    {
      tree _o1[2], _r1;
      {
	tree _o2[1], _r2;
	_o2[0] = captures[4];
	gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
	tem_op.resimplify (NULL, valueize);
	_r2 = maybe_push_res_to_seq (&tem_op, NULL);
	if (!_r2) goto next_after_fail857;
	_o1[0] = _r2;
      }
      _o1[1] = captures[3];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (NULL, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, NULL);
      if (!_r1) goto next_after_fail857;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail857:;
  return false;
}

static bool
gimple_simplify_452 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (code2), const enum tree_code ARG_UNUSED (code1))
{
  {
/* #line 2799 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int cmp = tree_int_cst_compare (captures[2], captures[4]);
/* #line 2805 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
	{
/* #line 2807 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 2808, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[3];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail858:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 2809, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail859:;
	    }
	}
      else
	{
/* #line 2811 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if ((code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
	    {
/* #line 2813 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
)
		{
		  gimple_seq *lseq = seq;
		  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", 2814, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[3];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail860:;
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  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", 2815, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail861:;
		}
	    }
	  else
	    {
/* #line 2817 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == 0
 && ((code1 == LT_EXPR && code2 == GT_EXPR)
 || (code1 == GT_EXPR && code2 == LT_EXPR))
)
		{
		  gimple_seq *lseq = seq;
		  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", 2820, __FILE__, __LINE__);
		  {
		    res_op->set_op (NE_EXPR, type, 2);
		    res_op->ops[0] = captures[1];
		    res_op->ops[1] = captures[4];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail862:;
		}
	      else
		{
/* #line 2822 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp >= 0
 && (code1 == LT_EXPR || code1 == LE_EXPR)
 && (code2 == GT_EXPR || code2 == GE_EXPR)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 2825, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  constant_boolean_node (true, type);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail863:;
		    }
		  else
		    {
/* #line 2826 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp <= 0
 && (code1 == GT_EXPR || code1 == GE_EXPR)
 && (code2 == LT_EXPR || code2 == LE_EXPR)
)
			{
			  gimple_seq *lseq = seq;
			  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", 2829, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  constant_boolean_node (true, type);
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail864:;
			}
		    }
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_453 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[1])))
    lseq = NULL;
  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", 1225, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_XOR_EXPR, type, 2);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[2];
      _o1[1] = captures[3];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail865;
      res_op->ops[0] = _r1;
    }
    {
      tree _o1[2], _r1;
      _o1[0] = captures[4];
      _o1[1] = captures[3];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (NULL, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, NULL);
      if (!_r1) goto next_after_fail865;
      res_op->ops[1] = _r1;
    }
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail865:;
  return false;
}

static bool
gimple_simplify_454 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.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])
)
    {
      gimple_seq *lseq = seq;
      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", 5988, __FILE__, __LINE__);
      {
	res_op->set_op (ncmp, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[2];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail866;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail866:;
    }
  return false;
}

static bool
gimple_simplify_455 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (rotate))
{
/* #line 3984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree rotate_type = TREE_TYPE (captures[2]);
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[1])))
	    lseq = NULL;
	  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", 3991, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[3];
		if (rotate_type != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (rotate_type, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, rotate_type, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail867;
		  }
		else
		  _r2 = _o2[0];
		_o1[0] = _r2;
	      }
	      _o1[1] = captures[4];
	      gimple_match_op tem_op (res_op->cond.any_else (), rotate, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail867;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail867:;
      }
    }
  return false;
}

static bool
gimple_simplify_456 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5180 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (single_use (captures[0])
)
    {
      gimple_seq *lseq = seq;
      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", 5181, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[1];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail868:;
    }
  return false;
}

static bool
gimple_simplify_457 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2084 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
 || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
    {
      gimple_seq *lseq = seq;
      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", 2086, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail869;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail869:;
    }
  return false;
}

static bool
gimple_simplify_458 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2162 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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
)
    {
      gimple_seq *lseq = seq;
      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", 2165, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail870:;
    }
  return false;
}

static bool
gimple_simplify_459 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!FLOAT_TYPE_P (TREE_TYPE (captures[3]))
 || !operation_could_trap_p (cmp, true, false, captures[3])
)
    {
      gimple_seq *lseq = seq;
      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", 6019, __FILE__, __LINE__);
      {
	res_op->set_op (COND_EXPR, type, 3);
	res_op->ops[0] = captures[0];
	res_op->ops[0] = unshare_expr (res_op->ops[0]);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[3];
	  gimple_match_op tem_op (res_op->cond.any_else (), cmp, type, _o1[0], _o1[1]);
	  tem_op.resimplify (NULL, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, NULL);
	  if (!_r1) goto next_after_fail871;
	  res_op->ops[1] = _r1;
	}
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[2];
	  _o1[1] = captures[3];
	  gimple_match_op tem_op (res_op->cond.any_else (), cmp, type, _o1[0], _o1[1]);
	  tem_op.resimplify (NULL, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, NULL);
	  if (!_r1) goto next_after_fail871;
	  res_op->ops[2] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail871:;
    }
  return false;
}

static bool
gimple_simplify_460 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[3])))
        lseq = NULL;
      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", 1032, __FILE__, __LINE__);
      {
	res_op->set_op (RSHIFT_EXPR, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[4];
	  gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail872;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail872:;
    }
  return false;
}

static bool
gimple_simplify_461 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 2374, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	res_op->ops[0] = captures[2];
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[2]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail873:;
    }
  return false;
}

static bool
gimple_simplify_462 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
 && (
 (INTEGRAL_TYPE_P (type)
 && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
 && TYPE_PRECISION (TREE_TYPE (captures[1])) <= TYPE_PRECISION (type)
 && TYPE_PRECISION (TREE_TYPE (captures[3])) <= TYPE_PRECISION (type))
 || (types_match (type, TREE_TYPE (captures[1]))
 && types_match (type, TREE_TYPE (captures[3]))))
)
    {
/* #line 4906 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (cmp == EQ_EXPR
)
	{
/* #line 4907 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 4908, __FILE__, __LINE__);
	      {
		res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		res_op->ops[0] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail874:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 4909, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		res_op->ops[0] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail875:;
	    }
	}
      else
	{
/* #line 4910 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (cmp == NE_EXPR
)
	    {
/* #line 4911 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (VECTOR_TYPE_P (type)
)
		{
		  gimple_seq *lseq = seq;
		  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", 4912, __FILE__, __LINE__);
		  {
		    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		    res_op->ops[0] = captures[0];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail876:;
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  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", 4913, __FILE__, __LINE__);
		  {
		    res_op->set_op (NOP_EXPR, type, 1);
		    res_op->ops[0] = captures[0];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail877:;
		}
	    }
	  else
	    {
/* #line 4914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == LE_EXPR || cmp == UNLE_EXPR || cmp == LT_EXPR || cmp == UNLT_EXPR
)
		{
/* #line 4915 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (!HONOR_NANS (type)
)
		    {
/* #line 4916 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (VECTOR_TYPE_P (type)
)
			{
			  gimple_seq *lseq = seq;
			  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", 4917, __FILE__, __LINE__);
			  {
			    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[2];
			      gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail878;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail878:;
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  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", 4918, __FILE__, __LINE__);
			  {
			    res_op->set_op (NOP_EXPR, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[2];
			      gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail879;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail879:;
			}
		    }
		}
	      else
		{
/* #line 4919 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == GE_EXPR || cmp == UNGE_EXPR || cmp == GT_EXPR || cmp == UNGT_EXPR
)
		    {
/* #line 4920 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (!HONOR_NANS (type)
)
			{
/* #line 4921 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (VECTOR_TYPE_P (type)
)
			    {
			      gimple_seq *lseq = seq;
			      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", 4922, __FILE__, __LINE__);
			      {
				res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[0];
				  _o1[1] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail880;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail880:;
			    }
			  else
			    {
			      gimple_seq *lseq = seq;
			      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", 4923, __FILE__, __LINE__);
			      {
				res_op->set_op (NOP_EXPR, type, 1);
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[0];
				  _o1[1] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail881;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail881:;
			    }
			}
		    }
		  else
		    {
/* #line 4924 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == UNEQ_EXPR
)
			{
/* #line 4925 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (!HONOR_NANS (type)
)
			    {
/* #line 4926 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (VECTOR_TYPE_P (type)
)
				{
				  gimple_seq *lseq = seq;
				  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", 4927, __FILE__, __LINE__);
				  {
				    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				    res_op->ops[0] = captures[2];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail882:;
				}
			      else
				{
				  gimple_seq *lseq = seq;
				  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", 4928, __FILE__, __LINE__);
				  {
				    res_op->set_op (NOP_EXPR, type, 1);
				    res_op->ops[0] = captures[2];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail883:;
				}
			    }
			}
		      else
			{
/* #line 4929 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == LTGT_EXPR
)
			    {
/* #line 4930 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (!HONOR_NANS (type)
)
				{
/* #line 4931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (VECTOR_TYPE_P (type)
)
				    {
				      gimple_seq *lseq = seq;
				      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", 4932, __FILE__, __LINE__);
				      {
					res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
					res_op->ops[0] = captures[0];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail884:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      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", 4933, __FILE__, __LINE__);
				      {
					res_op->set_op (NOP_EXPR, type, 1);
					res_op->ops[0] = captures[0];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail885:;
				    }
				}
			    }
			}
		    }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_463 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (floors), const combined_fn ARG_UNUSED (truncs))
{
/* #line 6941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 6947, __FILE__, __LINE__);
      {
	res_op->set_op (truncs, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail886:;
    }
  return false;
}

static bool
gimple_simplify_464 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (cond_op))
{
  {
/* #line 8019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[4]);
/* #line 8020 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (element_precision (type) == element_precision (op_type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 8021, __FILE__, __LINE__);
	  {
	    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
	    {
	      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];
		gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail887;
		_o1[4] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), cond_op, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3], _o1[4]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail887;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail887:;
	}
  }
  return false;
}

static bool
gimple_simplify_465 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (single_use (captures[4]) && single_use (captures[5])
)
	{
	  gimple_seq *lseq = seq;
	  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", 1635, __FILE__, __LINE__);
	  {
	    res_op->set_op (op, type, 2);
	    res_op->ops[0] = captures[0];
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[6];
	      if (type != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail888;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail888:;
	}
      else
	{
/* #line 1636 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (single_use (captures[0]) && single_use (captures[1])
)
	    {
	      gimple_seq *lseq = seq;
	      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", 1637, __FILE__, __LINE__);
	      {
		res_op->set_op (op, type, 2);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[3];
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail889;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[4];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail889:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_466 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1764 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (! TYPE_UNSIGNED (type)
 && ! HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && single_use (captures[0])
)
    {
      gimple_seq *lseq = seq;
      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", 1767, __FILE__, __LINE__);
      {
	res_op->set_op (MULT_EXPR, type, 2);
	res_op->ops[0] = captures[1];
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail890;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail890:;
    }
  return false;
}

static bool
gimple_simplify_467 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3803 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (cand < 0
 || (!integer_zerop (captures[2])
 && wi::lshift (wi::to_wide (captures[0]), cand) != wi::to_wide (captures[2]))
)
	{
	  gimple_seq *lseq = seq;
	  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", 3807, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem =  constant_boolean_node (cmp == NE_EXPR, type);
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail891:;
	}
      else
	{
/* #line 3808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!integer_zerop (captures[2])
 && wi::lshift (wi::to_wide (captures[0]), cand) == wi::to_wide (captures[2])
)
	    {
	      gimple_seq *lseq = seq;
	      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", 3810, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] =  build_int_cst (TREE_TYPE (captures[1]), cand);
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail892:;
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_468 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (div))
{
/* #line 410 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!integer_zerop (captures[1])
)
    {
      gimple_seq *lseq = seq;
      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", 411, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail893:;
    }
  return false;
}

static bool
gimple_simplify_469 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 2405, __FILE__, __LINE__);
      {
	res_op->set_op (op, type, 2);
	res_op->ops[0] = captures[2];
	res_op->ops[1] =  build_zero_cst (TREE_TYPE (captures[2]));
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail894:;
    }
  return false;
}

static bool
gimple_simplify_470 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 2023, __FILE__, __LINE__);
      {
	res_op->set_op (MULT_EXPR, type, 2);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail895;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail895:;
    }
  return false;
}

static bool
gimple_simplify_471 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 4297 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TREE_CODE (captures[3]) != INTEGER_CST
 && single_use (captures[0])
 && !integer_zerop (captures[2]) && !integer_minus_onep (captures[2])
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])))
        lseq = NULL;
      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", 4300, __FILE__, __LINE__);
      {
	res_op->set_op (MULT_EXPR, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[3];
	  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail896;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail896:;
    }
  return false;
}

static bool
gimple_simplify_472 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 2949 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type)
)
	    {
/* #line 2952 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (!CONSTANT_CLASS_P (captures[0])
)
		{
/* #line 2953 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (outer_op == PLUS_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      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", 2954, __FILE__, __LINE__);
		      {
			res_op->set_op (PLUS_EXPR, type, 2);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[0];
			  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail897;
			  res_op->ops[0] = _r1;
			}
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[2];
			  {
			    tree _o2[1], _r2;
			    _o2[0] = captures[1];
			    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o2[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail897;
			    _o1[1] = _r2;
			  }
			  gimple_match_op tem_op (res_op->cond.any_else (), inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  tem_op.resimplify (NULL, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			  if (!_r1) goto next_after_fail897;
			  res_op->ops[1] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail897:;
		    }
		  else
		    {
		      gimple_seq *lseq = seq;
		      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", 2955, __FILE__, __LINE__);
		      {
			res_op->set_op (MINUS_EXPR, type, 2);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[0];
			  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail898;
			  res_op->ops[0] = _r1;
			}
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[2];
			  {
			    tree _o2[1], _r2;
			    _o2[0] = captures[1];
			    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o2[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail898;
			    _o1[1] = _r2;
			  }
			  gimple_match_op tem_op (res_op->cond.any_else (), neg_inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  tem_op.resimplify (NULL, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			  if (!_r1) goto next_after_fail898;
			  res_op->ops[1] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail898:;
		    }
		}
	    }
	  else
	    {
/* #line 2956 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (outer_op == PLUS_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      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", 2959, __FILE__, __LINE__);
		      {
			res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[0];
			  {
			    tree _o2[2], _r2;
			    {
			      tree _o3[1], _r3;
			      _o3[0] = captures[2];
			      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r3) goto next_after_fail899;
			      _o2[0] = _r3;
			    }
			    _o2[1] = captures[1];
			    gimple_match_op tem_op (res_op->cond.any_else (), inner_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r2) goto next_after_fail899;
			    _o1[1] = _r2;
			  }
			  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail899;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail899:;
		    }
		  else
		    {
		      gimple_seq *lseq = seq;
		      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", 2960, __FILE__, __LINE__);
		      {
			res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[0];
			  {
			    tree _o2[2], _r2;
			    {
			      tree _o3[1], _r3;
			      _o3[0] = captures[2];
			      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, TREE_TYPE (_o1[0]), _o3[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r3) goto next_after_fail900;
			      _o2[0] = _r3;
			    }
			    _o2[1] = captures[1];
			    gimple_match_op tem_op (res_op->cond.any_else (), neg_inner_op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r2) goto next_after_fail900;
			    _o1[1] = _r2;
			  }
			  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail900;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail900:;
		    }
		}
	      else
		{
/* #line 2964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (types_match (type, captures[0]) && !TYPE_OVERFLOW_SANITIZED (type)
)
		    {
		      {
/* #line 2965 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cst && !TREE_OVERFLOW (cst)
)
			    {
			      gimple_seq *lseq = seq;
			      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", 2969, __FILE__, __LINE__);
			      {
				res_op->set_op (inner_op, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] =  cst;
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail901:;
			    }
			  else
			    {
/* #line 2971 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (INTEGRAL_TYPE_P (type) && cst
 && wi::to_wide (cst) == wi::min_value (type)
)
				{
				  gimple_seq *lseq = seq;
				  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", 2973, __FILE__, __LINE__);
				  {
				    res_op->set_op (neg_inner_op, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] =  wide_int_to_tree (type, wi::to_wide (cst));
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail902:;
				}
			      else
				{
				  {
/* #line 2975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
/* #line 2976 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (utype
)
					{
					  gimple_seq *lseq = seq;
					  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", 2977, __FILE__, __LINE__);
					  {
					    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
					    {
					      tree _o1[2], _r1;
					      {
						tree _o2[1], _r2;
						_o2[0] = captures[0];
						gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, utype, _o2[0]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail903;
						_o1[0] = _r2;
					      }
					      {
						tree _o2[1], _r2;
						_o2[0] =  drop_tree_overflow (cst);
						gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, utype, _o2[0]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail903;
						_o1[1] = _r2;
					      }
					      gimple_match_op tem_op (res_op->cond.any_else (), inner_op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail903;
					      res_op->ops[0] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail903:;
					}
				  }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_473 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (cmp))
{
/* #line 1127 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
    {
      gimple_seq *lseq = seq;
      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", 1130, __FILE__, __LINE__);
      {
	res_op->set_op (cmp, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[2];
	    if (TREE_TYPE (_o1[0]) != TREE_TYPE (_o2[0])
	        && !useless_type_conversion_p (TREE_TYPE (_o1[0]), TREE_TYPE (_o2[0])))
	      {
		gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail904;
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail904;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail904:;
    }
  return false;
}

static bool
gimple_simplify_474 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  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", 1190, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail905:;
  return false;
}

static bool
gimple_simplify_475 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (floor_divmod), const enum tree_code ARG_UNUSED (trunc_divmod))
{
/* #line 458 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
 && TYPE_UNSIGNED (type)
)
    {
      gimple_seq *lseq = seq;
      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", 460, __FILE__, __LINE__);
      {
	res_op->set_op (trunc_divmod, type, 2);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail906:;
    }
  return false;
}

static bool
gimple_simplify_476 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op), const combined_fn ARG_UNUSED (ctz))
{
  {
/* #line 7706 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) >= prec
)
	{
/* #line 7716 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!zero_res || zero_val != wi::to_widest (captures[2])
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      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", 7717, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  constant_boolean_node (op == EQ_EXPR ? false : true, type);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail907:;
	    }
	}
      else
	{
/* #line 7718 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!zero_res || zero_val < 0 || zero_val >= prec
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      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", 7719, __FILE__, __LINE__);
	      {
		res_op->set_op (op, type, 2);
		{
		  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));
		  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail908;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] =  wide_int_to_tree (type0,
 wi::shifted_mask (tree_to_uhwi (captures[2]), 1,
 false, prec));
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail908:;
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_477 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (plusminus))
{
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
 && (!FLOAT_TYPE_P (type) || flag_associative_math)
)
    {
/* #line 3268 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!ALL_FRACT_MODE_P (TYPE_MODE (type))
)
	{
/* #line 3294 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])
)
	    {
	      gimple_seq *lseq = seq;
	      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", 3310, __FILE__, __LINE__);
	      {
		res_op->set_op (MULT_EXPR, type, 2);
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[2];
		  _o1[1] =  build_one_cst (type);
		  gimple_match_op tem_op (res_op->cond.any_else (), plusminus, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail909;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail909:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_478 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 1382 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (ANY_INTEGRAL_TYPE_P (type)
 && TYPE_OVERFLOW_WRAPS (type)
 && !integer_all_onesp (captures[1])
)
    {
      gimple_seq *lseq = seq;
      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", 1386, __FILE__, __LINE__);
      {
	res_op->set_op (PLUS_EXPR, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[0];
	  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail910;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] =  build_minus_one_cst (type);
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail910:;
    }
  else
    {
/* #line 1387 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && TREE_CODE (captures[1]) == INTEGER_CST
 && wi::to_wide (captures[1]) != wi::min_value (TYPE_PRECISION (type),
 SIGNED)
)
	{
	  gimple_seq *lseq = seq;
	  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", 1391, __FILE__, __LINE__);
	  {
	    res_op->set_op (MINUS_EXPR, type, 2);
	    {
	      tree _o1[2], _r1;
	      _o1[0] = captures[1];
	      _o1[1] =  build_minus_one_cst (type);
	      gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail911;
	      res_op->ops[0] = _r1;
	    }
	    res_op->ops[1] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail911:;
	}
    }
  return false;
}

static bool
gimple_simplify_479 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (TREE_INT_CST_LOW (captures[1]) & 1
)
    {
      gimple_seq *lseq = seq;
      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", 2425, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == NE_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail912:;
    }
  return false;
}

static bool
gimple_simplify_480 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (reduc))
{
  {
/* #line 8120 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (elt
 && !HONOR_SNANS (type)
 && !HONOR_SIGNED_ZEROS (type)
)
	{
	  gimple_seq *lseq = seq;
	  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", 8126, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem =  elt;
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail913:;
	}
  }
  return false;
}

static bool
gimple_simplify_481 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (hypots), const combined_fn ARG_UNUSED (copysigns))
{
  gimple_seq *lseq = seq;
  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", 954, __FILE__, __LINE__);
  {
    res_op->set_op (hypots, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[2];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail914:;
  return false;
}

static bool
gimple_simplify_482 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2101 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[1])))
        lseq = NULL;
      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", 2102, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_NOT_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[2];
	    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o2[0]);
	    tem_op.resimplify (lseq, valueize);
	    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
	    if (!_r2) goto next_after_fail915;
	    _o1[0] = _r2;
	  }
	  _o1[1] = captures[3];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail915;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail915:;
    }
  return false;
}

static bool
gimple_simplify_483 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (shift))
{
/* #line 3865 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if ((mask & zerobits) == mask
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[1])))
	        lseq = NULL;
	      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", 3925, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_int_cst (type, 0);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail916:;
	    }
	  else
	    {
	      {
/* #line 3926 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 newmask = mask | zerobits;
/* #line 3927 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (newmask != mask && (newmask & (newmask + 1)) == 0
)
		    {
		      {
/* #line 3928 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (prec < HOST_BITS_PER_WIDE_INT
 || newmask == HOST_WIDE_INT_M1U
)
			    {
			      {
/* #line 3939 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
/* #line 3941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (!tree_int_cst_equal (newmaskt, captures[5])
)
				    {
/* #line 3942 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (shift_type != TREE_TYPE (captures[2])
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  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", 3943, __FILE__, __LINE__);
					  {
					    res_op->set_op (BIT_AND_EXPR, type, 2);
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						{
						  tree _o3[1], _r3;
						  _o3[0] = captures[2];
						  if (shift_type != TREE_TYPE (_o3[0])
						      && !useless_type_conversion_p (shift_type, TREE_TYPE (_o3[0])))
						    {
						      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, shift_type, _o3[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r3) goto next_after_fail917;
						    }
						  else
						    _r3 = _o3[0];
						  _o2[0] = _r3;
						}
						_o2[1] = captures[4];
						gimple_match_op tem_op (res_op->cond.any_else (), shift, shift_type, _o2[0], _o2[1]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail917;
						_o1[0] = _r2;
					      }
					      if (type != TREE_TYPE (_o1[0])
					          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
						{
						  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
						  tem_op.resimplify (lseq, valueize);
						  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						  if (!_r1) goto next_after_fail917;
					        }
					      else
					        _r1 = _o1[0];
					      res_op->ops[0] = _r1;
					    }
					    res_op->ops[1] =  newmaskt;
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail917:;
					}
				      else
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])
					          || !single_use (captures[1])))
					    lseq = NULL;
					  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", 3944, __FILE__, __LINE__);
					  {
					    res_op->set_op (BIT_AND_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    res_op->ops[1] =  newmaskt;
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail918:;
					}
				    }
			      }
			    }
		      }
		    }
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_484 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (fmas))
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7575, __FILE__, __LINE__);
      {
	res_op->set_op (CFN_FMS, type, 3);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->ops[2] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail919:;
    }
  return false;
}

static bool
gimple_simplify_485 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      gimple_seq *lseq = seq;
      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", 6494, __FILE__, __LINE__);
      {
	res_op->set_op (RDIV_EXPR, type, 2);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[0];
	  _o1[1] = captures[2];
	  gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail920;
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail920:;
    }
  return false;
}

static bool
gimple_simplify_486 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (scmp))
{
/* #line 5301 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (single_use (captures[0])
 && (TREE_CODE (captures[2]) == INTEGER_CST || TREE_CODE (captures[2]) == VECTOR_CST)
)
    {
      gimple_seq *lseq = seq;
      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", 5303, __FILE__, __LINE__);
      {
	res_op->set_op (scmp, type, 2);
	res_op->ops[0] = captures[1];
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail921;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail921:;
    }
  return false;
}

static bool
gimple_simplify_487 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!canonicalize_math_p ()
)
    {
/* #line 2135 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
	{
	  gimple_seq *lseq = seq;
	  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", 2137, __FILE__, __LINE__);
	  {
	    res_op->set_op (COND_EXPR, type, 3);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[3];
	    res_op->ops[2] =  build_zero_cst (type);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail922:;
	}
    }
  return false;
}

static bool
gimple_simplify_488 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (froms), const combined_fn ARG_UNUSED (tos))
{
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (optimize && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7071, __FILE__, __LINE__);
      {
	res_op->set_op (tos, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail923:;
    }
  return false;
}

static bool
gimple_simplify_489 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  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", 366, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail924:;
  return false;
}

static bool
gimple_simplify_490 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 2663, __FILE__, __LINE__);
  {
    tree tem;
    tem =  constant_boolean_node (true, type);
    res_op->set_value (tem);
    return true;
  }
next_after_fail925:;
  return false;
}

static bool
gimple_simplify_491 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (SIGNBIT))
{
  gimple_seq *lseq = seq;
  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", 7350, __FILE__, __LINE__);
  {
    tree tem;
    tem =  integer_zero_node;
    res_op->set_value (tem);
    return true;
  }
next_after_fail926:;
  return false;
}

static bool
gimple_simplify_492 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3059 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (TREE_CODE (TREE_TYPE (captures[2])) == INTEGER_TYPE
 && TREE_CODE (type) == INTEGER_TYPE
 && TYPE_PRECISION (type) > TYPE_PRECISION (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
 && TYPE_OVERFLOW_WRAPS (type)
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[1])))
	        lseq = NULL;
	      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", 3065, __FILE__, __LINE__);
	      {
		res_op->set_op (PLUS_EXPR, type, 2);
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[2];
		  if (type != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail927;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[0] = _r1;
		}
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[4];
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[3];
		    if (type != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail927;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail927;
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail927:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_493 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bit_op), const enum tree_code ARG_UNUSED (shift))
{
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
)
    {
      {
/* #line 3964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
/* #line 3965 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (mask
)
	    {
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])
	              || !single_use (captures[1])))
	        lseq = NULL;
	      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", 3966, __FILE__, __LINE__);
	      {
		res_op->set_op (bit_op, type, 2);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (type != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail928;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  _o1[1] = captures[4];
		  gimple_match_op tem_op (res_op->cond.any_else (), shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail928;
		  res_op->ops[0] = _r1;
		}
		res_op->ops[1] =  mask;
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail928:;
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_494 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (icmp))
{
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == ORDERED_EXPR || cmp == UNORDERED_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  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", 5569, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  constant_boolean_node (cmp == ORDERED_EXPR, type);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail929:;
		}
	      else
		{
/* #line 5570 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (TYPE_PRECISION (type1) > TYPE_PRECISION (type2)
 && type1_signed_p >= type2_signed_p
)
		    {
		      gimple_seq *lseq = seq;
		      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", 5572, __FILE__, __LINE__);
		      {
			res_op->set_op (icmp, type, 2);
			res_op->ops[0] = captures[1];
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  if (TREE_TYPE (res_op->ops[0]) != TREE_TYPE (_o1[0])
			      && !useless_type_conversion_p (TREE_TYPE (res_op->ops[0]), TREE_TYPE (_o1[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (res_op->ops[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail930;
			    }
			  else
			    _r1 = _o1[0];
			  res_op->ops[1] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail930:;
		    }
		  else
		    {
/* #line 5573 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (TYPE_PRECISION (type1) < TYPE_PRECISION (type2)
 && type1_signed_p <= type2_signed_p
)
			{
			  gimple_seq *lseq = seq;
			  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", 5575, __FILE__, __LINE__);
			  {
			    res_op->set_op (icmp, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[1];
			      if (type2 != TREE_TYPE (_o1[0])
			          && !useless_type_conversion_p (type2, TREE_TYPE (_o1[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type2, _o1[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail931;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[0] = _r1;
			    }
			    res_op->ops[1] = captures[2];
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail931:;
			}
		      else
			{
/* #line 5576 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (TYPE_PRECISION (type1) == TYPE_PRECISION (type2)
 && type1_signed_p == type2_signed_p
)
			    {
			      gimple_seq *lseq = seq;
			      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", 5578, __FILE__, __LINE__);
			      {
				res_op->set_op (icmp, type, 2);
				res_op->ops[0] = captures[1];
				res_op->ops[1] = captures[2];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail932:;
			    }
			}
		    }
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_495 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (neeq))
{
  {
/* #line 2386 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff; tree inner_type = TREE_TYPE (captures[2]);
/* #line 2387 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (ptr_difference_const (captures[0], captures[1], &diff)
)
	{
	  gimple_seq *lseq = seq;
	  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", 2388, __FILE__, __LINE__);
	  {
	    res_op->set_op (neeq, type, 2);
	    res_op->ops[0] =  build_int_cst_type (inner_type, diff);
	    res_op->ops[1] = captures[2];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail933:;
	}
  }
  return false;
}

static bool
gimple_simplify_496 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (VECTOR_TYPE_P (type)
 || (INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) == 1)
)
    {
      {
/* #line 5129 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 enum tree_code ic = invert_tree_comparison
 (cmp, HONOR_NANS (captures[0]));
/* #line 5131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (ic == icmp
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5132, __FILE__, __LINE__);
	      {
		res_op->set_op (icmp, type, 2);
		res_op->ops[0] = captures[0];
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail934:;
	    }
	  else
	    {
/* #line 5133 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (ic == ncmp
)
		{
		  gimple_seq *lseq = seq;
		  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", 5134, __FILE__, __LINE__);
		  {
		    res_op->set_op (ncmp, type, 2);
		    res_op->ops[0] = captures[0];
		    res_op->ops[1] = captures[1];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail935:;
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_497 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 6838, __FILE__, __LINE__);
      {
	res_op->set_op (RDIV_EXPR, type, 2);
	res_op->ops[0] =  build_one_cst (type);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[1];
	  gimple_match_op tem_op (res_op->cond.any_else (), TAN, TREE_TYPE (_o1[0]), _o1[0]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail936;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail936:;
    }
  return false;
}

static bool
gimple_simplify_498 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (reduc))
{
  {
/* #line 8105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 int i = single_nonzero_element (captures[1]);
/* #line 8106 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (i >= 0
)
	{
	  {
/* #line 8107 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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);
	      gimple_seq *lseq = seq;
	      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", 8112, __FILE__, __LINE__);
	      {
		res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[3], _r2;
		    _o2[0] = captures[0];
		    _o2[1] =  size;
		    _o2[2] =  pos;
		    gimple_match_op tem_op (res_op->cond.any_else (), BIT_FIELD_REF, elt_type, _o2[0], _o2[1], _o2[2]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail937;
		    _o1[0] = _r2;
		  }
		  _o1[1] =  elt;
		  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, elt_type, _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail937;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail937:;
	  }
	}
  }
  return false;
}

static bool
gimple_simplify_499 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 2673, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail938:;
  return false;
}

static bool
gimple_simplify_500 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (neg_cmp))
{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations
)
    {
      {
/* #line 6501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, captures[2], captures[1]);
/* #line 6503 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[1]))
)
		{
		  gimple_seq *lseq = seq;
		  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", 6508, __FILE__, __LINE__);
		  {
		    res_op->set_op (cmp, type, 2);
		    res_op->ops[0] = captures[0];
		    res_op->ops[1] =  tem;
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail939:;
		}
	      else
		{
/* #line 6509 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (real_less (TREE_REAL_CST_PTR (captures[1]), &dconst0)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 6510, __FILE__, __LINE__);
		      {
			res_op->set_op (neg_cmp, type, 2);
			res_op->ops[0] = captures[0];
			res_op->ops[1] =  tem;
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail940:;
		    }
		}
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_501 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (canonicalize_math_after_vectorization_p ()
)
    {
      gimple_seq *lseq = seq;
      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", 7614, __FILE__, __LINE__);
      {
	res_op->set_op (CFN_FMS, type, 3);
	res_op->ops[0] = captures[0];
	res_op->ops[1] = captures[1];
	res_op->ops[2] = captures[2];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail941:;
    }
  return false;
}

static bool
gimple_simplify_502 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2689 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])
              || !single_use (captures[2])))
        lseq = NULL;
      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", 2691, __FILE__, __LINE__);
      {
	res_op->set_op (LE_EXPR, type, 2);
	res_op->ops[0] = captures[3];
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] =  build_int_cst (TREE_TYPE (captures[1]), 1);
	  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail942;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail942:;
    }
  return false;
}

static bool
gimple_simplify_503 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 6789, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail943:;
  return false;
}

static bool
gimple_simplify_504 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (minmax), const enum tree_code ARG_UNUSED (cmp))
{
  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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,
0
);
/* #line 3497 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (equal == 1
)
	{
/* #line 3498 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (minmax == MIN_EXPR
)
	    {
/* #line 3499 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (known_le (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  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", 3500, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail944:;
		}
	      else
		{
/* #line 3501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (known_gt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 3502, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail945:;
		    }
		}
	    }
	  else
	    {
/* #line 3503 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (known_ge (off0, off1)
)
		{
		  gimple_seq *lseq = seq;
		  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", 3504, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail946:;
		}
	      else
		{
/* #line 3505 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (known_lt (off0, off1)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 3506, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[2];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail947:;
		    }
		}
	    }
	}
  }
  return false;
}

static bool
gimple_simplify_505 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 3613 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (type)
 && (
1
 || !TREE_SIDE_EFFECTS (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 3615, __FILE__, __LINE__);
      {
	res_op->set_op (COND_EXPR, type, 3);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[2];
	  if (boolean_type_node != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (boolean_type_node, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, boolean_type_node, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail948;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->ops[1] = captures[1];
	res_op->ops[2] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail948:;
    }
  return false;
}

static bool
gimple_simplify_506 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2853 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
 && !TYPE_OVERFLOW_SANITIZED (type)
)
	{
	  {
/* #line 2855 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]);
	      gimple_seq *lseq = seq;
	      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", 2862, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[0];
		    if (t1 != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (t1, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, t1, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail949;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[1];
		    if (t1 != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (t1, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, t1, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail949;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail949;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail949:;
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_507 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  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", 1320, __FILE__, __LINE__);
  {
    res_op->set_op (NOP_EXPR, type, 1);
    res_op->ops[0] =  build_all_ones_cst (TREE_TYPE (captures[0]));
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail950:;
  return false;
}

static bool
gimple_simplify_508 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2114 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
)
    {
      gimple_seq *lseq = seq;
      if (lseq
          && (!single_use (captures[0])))
        lseq = NULL;
      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", 2116, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[2];
	  gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail951;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail951:;
    }
  return false;
}

static bool
gimple_simplify_509 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])))
	    lseq = NULL;
	  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", 7230, __FILE__, __LINE__);
	  {
	    res_op->set_op (op, type, 2);
	    res_op->ops[0] = captures[2];
	    {
	      tree _o1[1], _r1;
	      _o1[0] = captures[4];
	      if (type != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail952;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail952:;
	}
      else
	{
	  {
/* #line 7231 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
	      gimple_seq *lseq = seq;
	      if (lseq
	          && (!single_use (captures[0])))
	        lseq = NULL;
	      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", 7232, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[2];
		    if (utype != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail953;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[0] = _r2;
		  }
		  {
		    tree _o2[1], _r2;
		    _o2[0] = captures[4];
		    if (utype != TREE_TYPE (_o2[0])
		        && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		      {
			gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail953;
		      }
		    else
		      _r2 = _o2[0];
		    _o1[1] = _r2;
		  }
		  gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail953;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail953:;
	  }
	}
    }
  else
    {
/* #line 7234 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (FLOAT_TYPE_P (ty1)
 && FLOAT_TYPE_P (ty2)
)
		{
		  {
/* #line 7245 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if ((newtype == dfloat32_type_node
 || newtype == dfloat64_type_node
 || newtype == dfloat128_type_node)
 && newtype == type
 && types_match (newtype, type)
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[0])))
			    lseq = NULL;
			  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", 7263, __FILE__, __LINE__);
			  {
			    res_op->set_op (op, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[2];
			      if (newtype != TREE_TYPE (_o1[0])
			          && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail954;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[4];
			      if (newtype != TREE_TYPE (_o1[0])
			          && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail954;
			        }
			      else
			        _r1 = _o1[0];
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail954:;
			}
		      else
			{
			  {
/* #line 7264 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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)
)
				{
				  gimple_seq *lseq = seq;
				  if (lseq
				      && (!single_use (captures[0])))
				    lseq = NULL;
				  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", 7296, __FILE__, __LINE__);
				  {
				    res_op->set_op (NOP_EXPR, type, 1);
				    {
				      tree _o1[2], _r1;
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[2];
					if (newtype != TREE_TYPE (_o2[0])
					    && !useless_type_conversion_p (newtype, TREE_TYPE (_o2[0])))
					  {
					    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail955;
					  }
					else
					  _r2 = _o2[0];
					_o1[0] = _r2;
				      }
				      {
					tree _o2[1], _r2;
					_o2[0] = captures[4];
					if (newtype != TREE_TYPE (_o2[0])
					    && !useless_type_conversion_p (newtype, TREE_TYPE (_o2[0])))
					  {
					    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail955;
					  }
					else
					  _r2 = _o2[0];
					_o1[1] = _r2;
				      }
				      gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail955;
				      res_op->ops[0] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail955:;
				}
			  }
			}
		  }
		}
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_510 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op))
{
  gimple_seq *lseq = seq;
  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", 1622, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail956:;
  return false;
}

static bool
gimple_simplify_511 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  if (lseq
      && (!single_use (captures[0])
          || !single_use (captures[1])))
    lseq = NULL;
  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", 1866, __FILE__, __LINE__);
  {
    res_op->set_op (BIT_IOR_EXPR, type, 2);
    {
      tree _o1[2], _r1;
      _o1[0] = captures[4];
      _o1[1] = captures[3];
      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
      tem_op.resimplify (lseq, valueize);
      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
      if (!_r1) goto next_after_fail957;
      res_op->ops[0] = _r1;
    }
    res_op->ops[1] = captures[2];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail957:;
  return false;
}

static bool
gimple_simplify_512 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5254 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 || ! tree_expr_maybe_nan_p (captures[0])
)
    {
      gimple_seq *lseq = seq;
      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", 5256, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (true, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail958:;
    }
  else
    {
/* #line 5257 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (cmp != EQ_EXPR
 && (! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
 || ! flag_trapping_math)
)
	{
	  gimple_seq *lseq = seq;
	  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", 5261, __FILE__, __LINE__);
	  {
	    res_op->set_op (EQ_EXPR, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail959:;
	}
    }
  return false;
}

static bool
gimple_simplify_513 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop))
{
  gimple_seq *lseq = seq;
  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", 1341, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[0];
    res_op->set_value (tem);
    return true;
  }
next_after_fail960:;
  return false;
}

static bool
gimple_simplify_514 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp), const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 4808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree from_type = TREE_TYPE (captures[0]), to_type = TREE_TYPE (captures[1]);
/* #line 4809 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (code == MAX_EXPR
)
		{
		  gimple_seq *lseq = seq;
		  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", 4881, __FILE__, __LINE__);
		  {
		    res_op->set_op (op, type, 2);
		    {
		      tree _o1[2], _r1;
		      _o1[0] = captures[0];
		      _o1[1] =  wide_int_to_tree (from_type, real_c1);
		      gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail961;
		      res_op->ops[0] = _r1;
		    }
		    res_op->ops[1] =  wide_int_to_tree (from_type, c2);
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail961:;
		}
	      else
		{
/* #line 4883 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (code == MIN_EXPR
)
		    {
		      gimple_seq *lseq = seq;
		      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", 4884, __FILE__, __LINE__);
		      {
			res_op->set_op (op, type, 2);
			{
			  tree _o1[2], _r1;
			  _o1[0] = captures[0];
			  _o1[1] =  wide_int_to_tree (from_type, real_c1);
			  gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail962;
			  res_op->ops[0] = _r1;
			}
			res_op->ops[1] =  wide_int_to_tree (from_type, c2);
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail962:;
		    }
		}
	  }
	}
  }
  return false;
}

static bool
gimple_simplify_515 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (TREE_CODE (captures[2]) == INTEGER_CST
)
	    {
	      gimple_seq *lseq = seq;
	      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", 5825, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] =  force_fit_type (TREE_TYPE (captures[1]), wi::to_widest (captures[2]), 0,
 TREE_OVERFLOW (captures[2]));
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail963:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 5827, __FILE__, __LINE__);
	      {
		res_op->set_op (cmp, type, 2);
		res_op->ops[0] = captures[1];
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[2];
		  if (TREE_TYPE (res_op->ops[0]) != TREE_TYPE (_o1[0])
		      && !useless_type_conversion_p (TREE_TYPE (res_op->ops[0]), TREE_TYPE (_o1[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (res_op->ops[0]), _o1[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail964;
		    }
		  else
		    _r1 = _o1[0];
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail964:;
	    }
	}
      else
	{
/* #line 5829 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
)
	    {
/* #line 5831 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))))
)
		{
		  gimple_seq *lseq = seq;
		  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", 5843, __FILE__, __LINE__);
		  {
		    res_op->set_op (cmp, type, 2);
		    res_op->ops[0] = captures[1];
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[3];
		      if (TREE_TYPE (res_op->ops[0]) != TREE_TYPE (_o1[0])
		          && !useless_type_conversion_p (TREE_TYPE (res_op->ops[0]), TREE_TYPE (_o1[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (res_op->ops[0]), _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail965;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail965:;
		}
	      else
		{
/* #line 5844 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (above || below
)
			    {
/* #line 5855 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (cmp == EQ_EXPR || cmp == NE_EXPR
)
				{
				  gimple_seq *lseq = seq;
				  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", 5856, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail966:;
				}
			      else
				{
/* #line 5857 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (cmp == LT_EXPR || cmp == LE_EXPR
)
				    {
				      gimple_seq *lseq = seq;
				      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", 5858, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  constant_boolean_node (above ? true : false, type);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail967:;
				    }
				  else
				    {
/* #line 5859 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (cmp == GT_EXPR || cmp == GE_EXPR
)
					{
					  gimple_seq *lseq = seq;
					  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", 5860, __FILE__, __LINE__);
					  {
					    tree tem;
					    tem =  constant_boolean_node (above ? false : true, type);
					    res_op->set_value (tem);
					    return true;
					  }
next_after_fail968:;
					}
				    }
				}
			    }
		      }
		    }
		}
	    }
	}
    }
  else
    {
/* #line 5862 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (newtype)
)
		{
		  gimple_seq *lseq = seq;
		  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", 5885, __FILE__, __LINE__);
		  {
		    res_op->set_op (cmp, type, 2);
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[1];
		      if (newtype != TREE_TYPE (_o1[0])
		          && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail969;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[0] = _r1;
		    }
		    {
		      tree _o1[1], _r1;
		      _o1[0] = captures[3];
		      if (newtype != TREE_TYPE (_o1[0])
		          && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
			{
			  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail969;
		        }
		      else
		        _r1 = _o1[0];
		      res_op->ops[1] = _r1;
		    }
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail969:;
		}
	  }
	}
    }
  return false;
}

static bool
gimple_simplify_516 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop))
{
/* #line 1877 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!CONSTANT_CLASS_P (captures[0])
)
    {
      gimple_seq *lseq = seq;
      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", 1880, __FILE__, __LINE__);
      {
	res_op->set_op (bitop, type, 2);
	res_op->ops[0] = captures[0];
	{
	  tree _o1[2], _r1;
	  _o1[0] = captures[1];
	  _o1[1] = captures[2];
	  gimple_match_op tem_op (res_op->cond.any_else (), bitop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (NULL, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, NULL);
	  if (!_r1) goto next_after_fail970;
	  res_op->ops[1] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail970:;
    }
  else
    {
      {
/* #line 1889 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree cst1 = const_binop (bitop, type, captures[0], captures[2]);
/* #line 1890 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (cst1
)
	    {
	      gimple_seq *lseq = seq;
	      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", 1891, __FILE__, __LINE__);
	      {
		res_op->set_op (bitop, type, 2);
		res_op->ops[0] = captures[1];
		res_op->ops[1] =  cst1;
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail971:;
	    }
	  else
	    {
	      {
/* #line 1892 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree cst2 = const_binop (bitop, type, captures[1], captures[2]);
/* #line 1893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cst2
)
		    {
		      gimple_seq *lseq = seq;
		      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", 1894, __FILE__, __LINE__);
		      {
			res_op->set_op (bitop, type, 2);
			res_op->ops[0] = captures[0];
			res_op->ops[1] =  cst2;
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail972:;
		    }
	      }
	    }
      }
    }
  return false;
}

static bool
gimple_simplify_517 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 1358, __FILE__, __LINE__);
  {
    res_op->set_op (MINUS_EXPR, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[1];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail973:;
  return false;
}

static bool
gimple_simplify_518 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
    {
/* #line 6843 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (! HONOR_NANS (captures[1])
 && ! HONOR_INFINITIES (captures[1])
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[2])))
	    lseq = NULL;
	  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", 6845, __FILE__, __LINE__);
	  {
	    res_op->set_op (COS, type, 1);
	    res_op->ops[0] = captures[1];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail974:;
	}
    }
  return false;
}

static bool
gimple_simplify_519 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!TYPE_SATURATING (type)
)
    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	{
/* #line 3111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
	    {
	      gimple_seq *lseq = seq;
	      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", 3121, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		res_op->ops[0] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail975:;
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_520 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (bitop), const enum tree_code ARG_UNUSED (op))
{
  {
/* #line 1256 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (utype
)
	{
	  gimple_seq *lseq = seq;
	  if (lseq
	      && (!single_use (captures[0])
	          || !single_use (captures[2])))
	    lseq = NULL;
	  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", 1262, __FILE__, __LINE__);
	  {
	    res_op->set_op (NOP_EXPR, type, 1);
	    {
	      tree _o1[2], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[0];
		  if (utype != TREE_TYPE (_o3[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r3) goto next_after_fail976;
		    }
		  else
		    _r3 = _o3[0];
		  _o2[0] = _r3;
		}
		{
		  tree _o3[1], _r3;
		  _o3[0] =  pmop[1];
		  if (utype != TREE_TYPE (_o3[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r3) goto next_after_fail976;
		    }
		  else
		    _r3 = _o3[0];
		  _o2[1] = _r3;
		}
		gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail976;
		_o1[0] = _r2;
	      }
	      {
		tree _o2[1], _r2;
		_o2[0] = captures[5];
		if (utype != TREE_TYPE (_o2[0])
		    && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r2) goto next_after_fail976;
		  }
		else
		  _r2 = _o2[0];
		_o1[1] = _r2;
	      }
	      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail976;
	      res_op->ops[0] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail976:;
	}
  }
  return false;
}

static bool
gimple_simplify_521 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (mod))
{
/* #line 810 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = TREE_TYPE (captures[1]);
 if (!TYPE_OVERFLOW_WRAPS (utype))
 utype = unsigned_type_for (utype);
	  gimple_seq *lseq = seq;
	  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", 824, __FILE__, __LINE__);
	  {
	    res_op->set_op (BIT_AND_EXPR, type, 2);
	    res_op->ops[0] = captures[0];
	    {
	      tree _o1[1], _r1;
	      {
		tree _o2[2], _r2;
		{
		  tree _o3[1], _r3;
		  _o3[0] = captures[1];
		  if (utype != TREE_TYPE (_o3[0])
		      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
		    {
		      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r3) goto next_after_fail977;
		    }
		  else
		    _r3 = _o3[0];
		  _o2[0] = _r3;
		}
		_o2[1] =  build_one_cst (utype);
		gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail977;
		_o1[0] = _r2;
	      }
	      if (type != TREE_TYPE (_o1[0])
	          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		{
		  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail977;
	        }
	      else
	        _r1 = _o1[0];
	      res_op->ops[1] = _r1;
	    }
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail977:;
      }
    }
  return false;
}

static bool
gimple_simplify_522 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 5020 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
)
    {
      gimple_seq *lseq = seq;
      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", 5021, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail978:;
    }
  return false;
}

static bool
gimple_simplify_523 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (rotate), const enum tree_code ARG_UNUSED (invrot), const enum tree_code ARG_UNUSED (cmp))
{
  gimple_seq *lseq = seq;
  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", 3999, __FILE__, __LINE__);
  {
    res_op->set_op (cmp, type, 2);
    res_op->ops[0] = captures[0];
    res_op->ops[1] = captures[2];
    res_op->resimplify (lseq, valueize);
    return true;
  }
next_after_fail979:;
  return false;
}

static bool
gimple_simplify_524 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const combined_fn ARG_UNUSED (minmax))
{
/* #line 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!tree_expr_maybe_signaling_nan_p (captures[0])
)
    {
      gimple_seq *lseq = seq;
      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", 3420, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail980:;
    }
  return false;
}

static bool
gimple_simplify_525 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
)
{
  gimple_seq *lseq = seq;
  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", 2658, __FILE__, __LINE__);
  {
    tree tem;
    tem = captures[2];
    res_op->set_value (tem);
    return true;
  }
next_after_fail981:;
  return false;
}

static bool
gimple_simplify_526 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 2451 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (wi::bit_and_not (wi::to_wide (captures[1]), get_nonzero_bits (captures[0])) != 0
)
    {
      gimple_seq *lseq = seq;
      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", 2452, __FILE__, __LINE__);
      {
	tree tem;
	tem =  constant_boolean_node (cmp == NE_EXPR, type);
	res_op->set_value (tem);
	return true;
      }
next_after_fail982:;
    }
  return false;
}

static bool
gimple_simplify_527 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (cmp))
{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (!HONOR_SIGNED_ZEROS (type)
 && (
 (INTEGRAL_TYPE_P (type)
 && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
 && types_match (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
 && TYPE_PRECISION (TREE_TYPE (captures[1])) <= TYPE_PRECISION (type)
 && TYPE_PRECISION (TREE_TYPE (captures[3])) <= TYPE_PRECISION (type))
 || (types_match (type, TREE_TYPE (captures[1]))
 && types_match (type, TREE_TYPE (captures[3]))))
)
    {
/* #line 4906 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (cmp == EQ_EXPR
)
	{
/* #line 4907 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (VECTOR_TYPE_P (type)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 4908, __FILE__, __LINE__);
	      {
		res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		res_op->ops[0] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail983:;
	    }
	  else
	    {
	      gimple_seq *lseq = seq;
	      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", 4909, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		res_op->ops[0] = captures[2];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail984:;
	    }
	}
      else
	{
/* #line 4910 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (cmp == NE_EXPR
)
	    {
/* #line 4911 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (VECTOR_TYPE_P (type)
)
		{
		  gimple_seq *lseq = seq;
		  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", 4912, __FILE__, __LINE__);
		  {
		    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		    res_op->ops[0] = captures[0];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail985:;
		}
	      else
		{
		  gimple_seq *lseq = seq;
		  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", 4913, __FILE__, __LINE__);
		  {
		    res_op->set_op (NOP_EXPR, type, 1);
		    res_op->ops[0] = captures[0];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail986:;
		}
	    }
	  else
	    {
/* #line 4914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (cmp == LE_EXPR || cmp == UNLE_EXPR || cmp == LT_EXPR || cmp == UNLT_EXPR
)
		{
/* #line 4915 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (!HONOR_NANS (type)
)
		    {
/* #line 4916 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (VECTOR_TYPE_P (type)
)
			{
			  gimple_seq *lseq = seq;
			  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", 4917, __FILE__, __LINE__);
			  {
			    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[2];
			      gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail987;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail987:;
			}
		      else
			{
			  gimple_seq *lseq = seq;
			  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", 4918, __FILE__, __LINE__);
			  {
			    res_op->set_op (NOP_EXPR, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[2];
			      gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail988;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail988:;
			}
		    }
		}
	      else
		{
/* #line 4919 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (cmp == GE_EXPR || cmp == UNGE_EXPR || cmp == GT_EXPR || cmp == UNGT_EXPR
)
		    {
/* #line 4920 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (!HONOR_NANS (type)
)
			{
/* #line 4921 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (VECTOR_TYPE_P (type)
)
			    {
			      gimple_seq *lseq = seq;
			      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", 4922, __FILE__, __LINE__);
			      {
				res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[0];
				  _o1[1] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail989;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail989:;
			    }
			  else
			    {
			      gimple_seq *lseq = seq;
			      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", 4923, __FILE__, __LINE__);
			      {
				res_op->set_op (NOP_EXPR, type, 1);
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[0];
				  _o1[1] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail990;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail990:;
			    }
			}
		    }
		  else
		    {
/* #line 4924 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (cmp == UNEQ_EXPR
)
			{
/* #line 4925 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (!HONOR_NANS (type)
)
			    {
/* #line 4926 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (VECTOR_TYPE_P (type)
)
				{
				  gimple_seq *lseq = seq;
				  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", 4927, __FILE__, __LINE__);
				  {
				    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				    res_op->ops[0] = captures[2];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail991:;
				}
			      else
				{
				  gimple_seq *lseq = seq;
				  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", 4928, __FILE__, __LINE__);
				  {
				    res_op->set_op (NOP_EXPR, type, 1);
				    res_op->ops[0] = captures[2];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail992:;
				}
			    }
			}
		      else
			{
/* #line 4929 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (cmp == LTGT_EXPR
)
			    {
/* #line 4930 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (!HONOR_NANS (type)
)
				{
/* #line 4931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (VECTOR_TYPE_P (type)
)
				    {
				      gimple_seq *lseq = seq;
				      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", 4932, __FILE__, __LINE__);
				      {
					res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
					res_op->ops[0] = captures[0];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail993:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      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", 4933, __FILE__, __LINE__);
				      {
					res_op->set_op (NOP_EXPR, type, 1);
					res_op->ops[0] = captures[0];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail994:;
				    }
				}
			    }
			}
		    }
		}
	    }
	}
    }
  return false;
}

static bool
gimple_simplify_528 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures)
, const enum tree_code ARG_UNUSED (op), const enum tree_code ARG_UNUSED (rop))
{
/* #line 1559 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
  if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
 && element_precision (type) <= element_precision (TREE_TYPE (captures[1]))
)
    {
      gimple_seq *lseq = seq;
      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", 1561, __FILE__, __LINE__);
      {
	res_op->set_op (BIT_NOT_EXPR, type, 1);
	{
	  tree _o1[2], _r1;
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[0];
	    if (type != TREE_TYPE (_o2[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
	      {
		gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail995;
	      }
	    else
	      _r2 = _o2[0];
	    _o1[0] = _r2;
	  }
	  {
	    tree _o2[1], _r2;
	    _o2[0] = captures[1];
	    if (type != TREE_TYPE (_o2[0])
	        && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
	      {
		gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
		tem_op.resimplify (lseq, valueize);
		_r2 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r2) goto next_after_fail995;
	      }
	    else
	      _r2 = _o2[0];
	    _o1[1] = _r2;
	  }
	  gimple_match_op tem_op (res_op->cond.any_else (), rop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
	  tem_op.resimplify (lseq, valueize);
	  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	  if (!_r1) goto next_after_fail995;
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail995:;
    }
  return false;
}

static bool
gimple_simplify_ABS_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 160 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 160 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
			    gimple_seq *lseq = seq;
			    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", 164, __FILE__, __LINE__);
			    {
			      res_op->set_op (NOP_EXPR, type, 1);
			      {
				tree _o1[1], _r1;
				_o1[0] = captures[0];
				gimple_match_op tem_op (res_op->cond.any_else (), ABSU_EXPR, utype, _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail996;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail996:;
			}
		      }
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 1649 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    gimple_seq *lseq = seq;
		    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", 1649, __FILE__, __LINE__);
		    {
		      tree tem;
		      tem = captures[0];
		      res_op->set_value (tem);
		      return true;
		    }
next_after_fail997:;
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 1659 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 1659, __FILE__, __LINE__);
		    {
		      res_op->set_op (ABS_EXPR, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail998:;
		  }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  {
/* #line 4477 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    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", 4477, __FILE__, __LINE__);
		    {
		      res_op->set_op (VEC_COND_EXPR, type, 3);
		      res_op->ops[0] = captures[1];
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[2];
			gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			tem_op.resimplify (NULL, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail999;
			res_op->ops[1] = _r1;
		      }
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[3];
			gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			tem_op.resimplify (NULL, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail999;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail999:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 1668 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      gimple_seq *lseq = seq;
      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", 1668, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1000:;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COSF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSF;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1001:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSF;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1002:;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_304 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSF, CFN_BUILT_IN_COPYSIGNF))
		        return true;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_ATANF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6712 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_285 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSF, CFN_BUILT_IN_ATANF, CFN_BUILT_IN_SQRTF, CFN_BUILT_IN_COPYSIGNF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COS (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COS;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1003:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COS;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1004:;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_304 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COS, CFN_BUILT_IN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_ATAN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6712 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_285 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COS, CFN_BUILT_IN_ATAN, CFN_BUILT_IN_SQRT, CFN_BUILT_IN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COSL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSL;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1005:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSL;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1006:;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_304 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSL, CFN_BUILT_IN_COPYSIGNL))
		        return true;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_ATANL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6712 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_285 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSL, CFN_BUILT_IN_ATANL, CFN_BUILT_IN_SQRTL, CFN_BUILT_IN_COPYSIGNL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_COS (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_COS;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1007:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_COS;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1008:;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_304 (res_op, seq, valueize, type, captures, CFN_COS, CFN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      case CFN_ATAN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6712 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_285 (res_op, seq, valueize, type, captures, CFN_COS, CFN_ATAN, CFN_SQRT, CFN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COSHF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSHF;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1009:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSHF;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1010:;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_304 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSHF, CFN_BUILT_IN_COPYSIGNF))
		        return true;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_ATANHF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6725 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_165 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSHF, CFN_BUILT_IN_ATANHF, CFN_BUILT_IN_SQRTF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COSH (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSH;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1011:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSH;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1012:;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_304 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSH, CFN_BUILT_IN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_ATANH:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6725 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_165 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSH, CFN_BUILT_IN_ATANH, CFN_BUILT_IN_SQRT))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COSHL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSHL;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1013:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_BUILT_IN_COSHL;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1014:;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_304 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSHL, CFN_BUILT_IN_COPYSIGNL))
		        return true;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_ATANHL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6725 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_165 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSHL, CFN_BUILT_IN_ATANHL, CFN_BUILT_IN_SQRTL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_COSH (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_COSH;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1015:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 888 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    const combined_fn coss = CFN_COSH;
		    gimple_seq *lseq = seq;
		    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", 888, __FILE__, __LINE__);
		    {
		      res_op->set_op (coss, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1016:;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_304 (res_op, seq, valueize, type, captures, CFN_COSH, CFN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      case CFN_ATANH:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6725 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_165 (res_op, seq, valueize, type, captures, CFN_COSH, CFN_ATANH, CFN_SQRT))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CCOSF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 984, __FILE__, __LINE__);
		    {
		      res_op->set_op (CFN_BUILT_IN_CCOSF, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1017:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CCOS (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 984, __FILE__, __LINE__);
		    {
		      res_op->set_op (CFN_BUILT_IN_CCOS, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1018:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CCOSL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 984, __FILE__, __LINE__);
		    {
		      res_op->set_op (CFN_BUILT_IN_CCOSL, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1019:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CCOSHF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 984, __FILE__, __LINE__);
		    {
		      res_op->set_op (CFN_BUILT_IN_CCOSHF, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1020:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CCOSH (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 984, __FILE__, __LINE__);
		    {
		      res_op->set_op (CFN_BUILT_IN_CCOSH, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1021:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CCOSHL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 984, __FILE__, __LINE__);
		    {
		      res_op->set_op (CFN_BUILT_IN_CCOSHL, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1022:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CABSF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case CONJ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 991 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 991, __FILE__, __LINE__);
		    {
		      res_op->set_op (CFN_BUILT_IN_CABSF, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1023:;
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 991 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 991, __FILE__, __LINE__);
		    {
		      res_op->set_op (CFN_BUILT_IN_CABSF, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1024:;
		  }
	          break;
	        }
	      case COMPLEX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (real_zerop (_q21))
		    {
		      {
/* #line 6747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			gimple_seq *lseq = seq;
			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", 6747, __FILE__, __LINE__);
			{
			  res_op->set_op (ABS_EXPR, type, 1);
			  res_op->ops[0] = captures[0];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1025:;
		      }
		    }
		  if (real_zerop (_q20))
		    {
		      {
/* #line 6747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			gimple_seq *lseq = seq;
			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", 6747, __FILE__, __LINE__);
			{
			  res_op->set_op (ABS_EXPR, type, 1);
			  res_op->ops[0] = captures[0];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1026:;
		      }
		    }
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			  {
			    gimple_seq *lseq = seq;
			    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", 6923, __FILE__, __LINE__);
			    {
			      res_op->set_op (MULT_EXPR, type, 2);
			      {
				tree _o1[1], _r1;
				_o1[0] = captures[0];
				gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1027;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1027:;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CABS (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case CONJ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 991 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 991, __FILE__, __LINE__);
		    {
		      res_op->set_op (CFN_BUILT_IN_CABS, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1028:;
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 991 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 991, __FILE__, __LINE__);
		    {
		      res_op->set_op (CFN_BUILT_IN_CABS, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1029:;
		  }
	          break;
	        }
	      case COMPLEX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (real_zerop (_q21))
		    {
		      {
/* #line 6747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			gimple_seq *lseq = seq;
			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", 6747, __FILE__, __LINE__);
			{
			  res_op->set_op (ABS_EXPR, type, 1);
			  res_op->ops[0] = captures[0];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1030:;
		      }
		    }
		  if (real_zerop (_q20))
		    {
		      {
/* #line 6747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			gimple_seq *lseq = seq;
			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", 6747, __FILE__, __LINE__);
			{
			  res_op->set_op (ABS_EXPR, type, 1);
			  res_op->ops[0] = captures[0];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1031:;
		      }
		    }
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			  {
			    gimple_seq *lseq = seq;
			    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", 6923, __FILE__, __LINE__);
			    {
			      res_op->set_op (MULT_EXPR, type, 2);
			      {
				tree _o1[1], _r1;
				_o1[0] = captures[0];
				gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1032;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1032:;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CABSL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case CONJ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 991 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 991, __FILE__, __LINE__);
		    {
		      res_op->set_op (CFN_BUILT_IN_CABSL, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1033:;
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 991 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 991, __FILE__, __LINE__);
		    {
		      res_op->set_op (CFN_BUILT_IN_CABSL, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1034:;
		  }
	          break;
	        }
	      case COMPLEX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (real_zerop (_q21))
		    {
		      {
/* #line 6747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			gimple_seq *lseq = seq;
			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", 6747, __FILE__, __LINE__);
			{
			  res_op->set_op (ABS_EXPR, type, 1);
			  res_op->ops[0] = captures[0];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1035:;
		      }
		    }
		  if (real_zerop (_q20))
		    {
		      {
/* #line 6747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			gimple_seq *lseq = seq;
			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", 6747, __FILE__, __LINE__);
			{
			  res_op->set_op (ABS_EXPR, type, 1);
			  res_op->ops[0] = captures[0];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1036:;
		      }
		    }
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			  {
			    gimple_seq *lseq = seq;
			    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", 6923, __FILE__, __LINE__);
			    {
			      res_op->set_op (MULT_EXPR, type, 2);
			      {
				tree _o1[1], _r1;
				_o1[0] = captures[0];
				gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1037;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] =  build_real_truncate (type, dconst_sqrt2 ());
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1037:;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_BIT_NOT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 1200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
				    if (gimple_simplify_441 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
				    if (gimple_simplify_441 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 1205 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
				    if (gimple_simplify_443 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1205 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
				    if (gimple_simplify_443 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 1355 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				    gimple_seq *lseq = seq;
				    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", 1355, __FILE__, __LINE__);
				    {
				      res_op->set_op (PLUS_EXPR, type, 2);
				      res_op->ops[0] = captures[0];
				      res_op->ops[1] = captures[1];
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1038:;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 1369 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    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", 1369, __FILE__, __LINE__);
		    {
		      res_op->set_op (PLUS_EXPR, type, 2);
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[1];
			gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			tem_op.resimplify (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r1) goto next_after_fail1039;
			res_op->ops[0] = _r1;
		      }
		      res_op->ops[1] = captures[2];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1039:;
		  }
		  if (integer_each_onep (_q21))
		    {
		      {
/* #line 2079 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_297 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 1358 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				    if (gimple_simplify_517 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1358 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				    if (gimple_simplify_517 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case INTEGER_CST:
		      {
			{
/* #line 1372 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1372 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if ((INTEGRAL_TYPE_P (type)
 && TYPE_UNSIGNED (type))
 || (!TYPE_OVERFLOW_SANITIZED (type)
 && may_negate_without_overflow_p (captures[2]))
)
			    {
			      gimple_seq *lseq = seq;
			      if (lseq
			          && (!single_use (captures[0])))
			        lseq = NULL;
			      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", 1376, __FILE__, __LINE__);
			      {
				res_op->set_op (PLUS_EXPR, type, 2);
				{
				  tree _o1[1], _r1;
				  _o1[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1040;
				  res_op->ops[0] = _r1;
				}
				res_op->ops[1] =  const_unop (NEGATE_EXPR, type, captures[2]);
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1040:;
			    }
			}
		        break;
		      }
		    default:;
		    }
		if (integer_all_onesp (_q21))
		  {
		    {
/* #line 2084 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_457 (res_op, seq, valueize, type, captures))
		        return true;
		    }
		  }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 1397 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1397 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (!TYPE_UNSIGNED (TREE_TYPE (captures[1]))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			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", 1398, __FILE__, __LINE__);
			{
			  res_op->set_op (RSHIFT_EXPR, type, 2);
			  {
			    tree _o1[1], _r1;
			    _o1[0] = captures[1];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1041;
			    res_op->ops[0] = _r1;
			  }
			  res_op->ops[1] = captures[2];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1041:;
		      }
		    else
		      {
/* #line 1402 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (INTEGRAL_TYPE_P (type)
 && !wi::neg_p (tree_nonzero_bits (captures[1]))
)
			  {
			    {
/* #line 1404 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
				gimple_seq *lseq = seq;
				if (lseq
				    && (!single_use (captures[0])))
				  lseq = NULL;
				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", 1405, __FILE__, __LINE__);
				{
				  res_op->set_op (NOP_EXPR, type, 1);
				  {
				    tree _o1[2], _r1;
				    {
				      tree _o2[1], _r2;
				      {
					tree _o3[1], _r3;
					_o3[0] = captures[1];
					if (stype != TREE_TYPE (_o3[0])
					    && !useless_type_conversion_p (stype, TREE_TYPE (_o3[0])))
					  {
					    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, stype, _o3[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r3 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r3) goto next_after_fail1042;
					  }
					else
					  _r3 = _o3[0];
					_o2[0] = _r3;
				      }
				      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				      tem_op.resimplify (NULL, valueize);
				      _r2 = maybe_push_res_to_seq (&tem_op, NULL);
				      if (!_r2) goto next_after_fail1042;
				      _o1[0] = _r2;
				    }
				    _o1[1] = captures[2];
				    gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    tem_op.resimplify (lseq, valueize);
				    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				    if (!_r1) goto next_after_fail1042;
				    res_op->ops[0] = _r1;
				  }
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1042:;
			    }
			  }
		      }
		  }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  {
/* #line 3971 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
						    if (gimple_simplify_230 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 3971 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
				    if (gimple_simplify_230 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 1936 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 1936, __FILE__, __LINE__);
		    {
		      tree tem;
		      tem = captures[0];
		      res_op->set_value (tem);
		      return true;
		    }
next_after_fail1043:;
		  }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 2059 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				    if (gimple_simplify_378 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      case MINUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_each_onep (_q31))
				    {
				      {
/* #line 2079 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					if (gimple_simplify_297 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (integer_all_onesp (_q31))
				    {
				      {
/* #line 2084 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					if (gimple_simplify_457 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					{
/* #line 2091 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					  if (gimple_simplify_213 (res_op, seq, valueize, type, captures))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  {
/* #line 2095 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
						    if (gimple_simplify_258 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_q31))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q31))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 2095 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
						    if (gimple_simplify_258 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case RSHIFT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q50 = gimple_assign_rhs1 (_a4);
								  _q50 = do_valueize (valueize, _q50);
								  {
/* #line 3971 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
								    if (gimple_simplify_111 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case BIT_NOT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  {
/* #line 3971 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
						    if (gimple_simplify_111 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case LROTATE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q50 = gimple_assign_rhs1 (_a4);
								  _q50 = do_valueize (valueize, _q50);
								  {
/* #line 3984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
								    if (gimple_simplify_126 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case BIT_NOT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  {
/* #line 3984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
						    if (gimple_simplify_126 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case RROTATE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q50 = gimple_assign_rhs1 (_a4);
								  _q50 = do_valueize (valueize, _q50);
								  {
/* #line 3984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50, _q31 };
								    if (gimple_simplify_126 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case BIT_NOT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  {
/* #line 3984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
						    if (gimple_simplify_126 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 2059 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_378 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 2091 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  if (gimple_simplify_213 (res_op, seq, valueize, type, captures))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 2095 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				    if (gimple_simplify_258 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 2095 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				    if (gimple_simplify_258 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if (gimple_truth_valued_p (_q20, valueize))
		    {
		      if (gimple_truth_valued_p (_q21, valueize))
			{
			  {
/* #line 2107 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 2107 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && TYPE_PRECISION (TREE_TYPE (captures[1])) == 1
)
			      {
				gimple_seq *lseq = seq;
				if (lseq
				    && (!single_use (captures[0])))
				  lseq = NULL;
				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", 2109, __FILE__, __LINE__);
				{
				  res_op->set_op (NOP_EXPR, type, 1);
				  {
				    tree _o1[2], _r1;
				    _o1[0] = captures[1];
				    _o1[1] = captures[2];
				    gimple_match_op tem_op (res_op->cond.any_else (), EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
				    tem_op.resimplify (lseq, valueize);
				    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				    if (!_r1) goto next_after_fail1044;
				    res_op->ops[0] = _r1;
				  }
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1044:;
			      }
			  }
		        }
		    }
	          break;
	        }
	      case LROTATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  {
/* #line 3984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
						    if (gimple_simplify_455 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 3984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
				    if (gimple_simplify_455 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case RROTATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  {
/* #line 3984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40, _q21 };
						    if (gimple_simplify_455 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 3984 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21 };
				    if (gimple_simplify_455 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  {
/* #line 4477 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    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", 4477, __FILE__, __LINE__);
		    {
		      res_op->set_op (VEC_COND_EXPR, type, 3);
		      res_op->ops[0] = captures[1];
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[2];
			gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			tem_op.resimplify (NULL, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1045;
			res_op->ops[1] = _r1;
		      }
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[3];
			gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			tem_op.resimplify (NULL, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1045;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1045:;
		  }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR, UNGE_EXPR))
		      return true;
		  }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR, UNGT_EXPR))
		      return true;
		  }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR, NE_EXPR))
		      return true;
		  }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR, EQ_EXPR))
		      return true;
		  }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR, UNLT_EXPR))
		      return true;
		  }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR, UNLE_EXPR))
		      return true;
		  }
	          break;
	        }
	      case UNORDERED_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR))
		      return true;
		  }
	          break;
	        }
	      case ORDERED_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR))
		      return true;
		  }
	          break;
	        }
	      case UNLT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR, GE_EXPR))
		      return true;
		  }
	          break;
	        }
	      case UNLE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR, GT_EXPR))
		      return true;
		  }
	          break;
	        }
	      case UNGT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR, LE_EXPR))
		      return true;
		  }
	          break;
	        }
	      case UNGE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR, LT_EXPR))
		      return true;
		  }
	          break;
	        }
	      case UNEQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR))
		      return true;
		  }
	          break;
	        }
	      case LTGT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
/* #line 5123 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    if (gimple_simplify_496 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_ABSU_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ABSU_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 1653 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
/* #line 1653 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
)
				      {
					gimple_seq *lseq = seq;
					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", 1654, __FILE__, __LINE__);
					{
					  tree tem;
					  tem = captures[1];
					  res_op->set_value (tem);
					  return true;
					}
next_after_fail1046:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 1663 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    gimple_seq *lseq = seq;
		    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", 1663, __FILE__, __LINE__);
		    {
		      res_op->set_op (ABSU_EXPR, type, 1);
		      res_op->ops[0] = captures[0];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1047:;
		  }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  {
/* #line 4477 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    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", 4477, __FILE__, __LINE__);
		    {
		      res_op->set_op (VEC_COND_EXPR, type, 3);
		      res_op->ops[0] = captures[1];
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[2];
			gimple_match_op tem_op (res_op->cond.any_else (), ABSU_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			tem_op.resimplify (NULL, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1048;
			res_op->ops[1] = _r1;
		      }
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[3];
			gimple_match_op tem_op (res_op->cond.any_else (), ABSU_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			tem_op.resimplify (NULL, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1048;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1048:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 1672 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      gimple_seq *lseq = seq;
      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", 1672, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1049:;
    }
  }
  return false;
}

static bool
gimple_simplify_NEGATE_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (gimple_negate_expr_p (_q21, valueize))
		    {
		      {
/* #line 1727 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_295 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if (gimple_negate_expr_p (_q20, valueize))
		    {
		      {
/* #line 1727 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_295 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 1734 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1734 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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))
)
		      {
			gimple_seq *lseq = seq;
			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", 1738, __FILE__, __LINE__);
			{
			  res_op->set_op (MINUS_EXPR, type, 2);
			  res_op->ops[0] = captures[1];
			  res_op->ops[1] = captures[0];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1050:;
		      }
		  }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 1741 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1741 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (TYPE_OVERFLOW_UNDEFINED (type)
)
		      {
			gimple_seq *lseq = seq;
			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", 1742, __FILE__, __LINE__);
			{
			  res_op->set_op (POINTER_DIFF_EXPR, type, 2);
			  res_op->ops[0] = captures[1];
			  res_op->ops[1] = captures[0];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1051:;
		      }
		  }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (gimple_negate_expr_p (_q21, valueize))
		    {
		      {
/* #line 1764 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_466 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if (gimple_negate_expr_p (_q20, valueize))
		    {
		      {
/* #line 1764 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_466 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case RDIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (gimple_negate_expr_p (_q21, valueize))
		    {
		      {
/* #line 1771 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1771 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && single_use (captures[0])
)
			  {
			    gimple_seq *lseq = seq;
			    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", 1773, __FILE__, __LINE__);
			    {
			      res_op->set_op (RDIV_EXPR, type, 2);
			      res_op->ops[0] = captures[1];
			      {
				tree _o1[1], _r1;
				_o1[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1052;
				res_op->ops[1] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1052:;
			  }
		      }
		    }
		  if (gimple_negate_expr_p (_q20, valueize))
		    {
		      {
/* #line 1777 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 1777 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
 && single_use (captures[0])
)
			  {
			    gimple_seq *lseq = seq;
			    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", 1779, __FILE__, __LINE__);
			    {
			      res_op->set_op (RDIV_EXPR, type, 2);
			      {
				tree _o1[1], _r1;
				_o1[0] = captures[1];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1053;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] = captures[2];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1053:;
			  }
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case RSHIFT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					{
/* #line 1784 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					  if (gimple_simplify_66 (res_op, seq, valueize, type, captures))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case NEGATE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    if (!TYPE_SATURATING (type)
)
				      {
/* #line 2868 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
					  {
					    gimple_seq *lseq = seq;
					    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", 2874, __FILE__, __LINE__);
					    {
					      res_op->set_op (NOP_EXPR, type, 1);
					      res_op->ops[0] = captures[0];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1054:;
					  }
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _q20_pops[1];
		  if (gimple_logical_inverted_value (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
/* #line 5053 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
/* #line 5053 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])
)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[0])
			            || !single_use (captures[1])))
			      lseq = NULL;
			    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", 5058, __FILE__, __LINE__);
			    {
			      res_op->set_op (PLUS_EXPR, type, 2);
			      {
				tree _o1[1], _r1;
				_o1[0] = captures[2];
				if (type != TREE_TYPE (_o1[0])
				    && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
				  {
				    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
				    tem_op.resimplify (lseq, valueize);
				    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				    if (!_r1) goto next_after_fail1055;
				  }
				else
				  _r1 = _o1[0];
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] =  build_all_ones_cst (type);
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1055:;
			  }
		      }
}
		}
		if (gimple_negate_expr_p (_q20, valueize))
		  {
		    {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (!TYPE_SATURATING (type)
)
			{
/* #line 2877 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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))
)
			    {
			      gimple_seq *lseq = seq;
			      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", 2882, __FILE__, __LINE__);
			      {
				res_op->set_op (NOP_EXPR, type, 1);
				{
				  tree _o1[1], _r1;
				  _o1[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1056;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1056:;
			    }
			}
		    }
		  }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 1784 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  if (gimple_simplify_66 (res_op, seq, valueize, type, captures))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 2066 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_264 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_251 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  {
/* #line 4477 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    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", 4477, __FILE__, __LINE__);
		    {
		      res_op->set_op (VEC_COND_EXPR, type, 3);
		      res_op->ops[0] = captures[1];
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[2];
			gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			tem_op.resimplify (NULL, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1057;
			res_op->ops[1] = _r1;
		      }
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[3];
			gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			tem_op.resimplify (NULL, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, NULL);
			if (!_r1) goto next_after_fail1057;
			res_op->ops[2] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1057:;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_FMAF:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    tree _q22 = gimple_call_arg (_c1, 2);
		    _q22 = do_valueize (valueize, _q22);
		    if (tree_swap_operands_p (_q20, _q21))
		      std::swap (_q20, _q21);
		    {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		      if (gimple_simplify_116 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAF))
		        return true;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_FMA:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    tree _q22 = gimple_call_arg (_c1, 2);
		    _q22 = do_valueize (valueize, _q22);
		    if (tree_swap_operands_p (_q20, _q21))
		      std::swap (_q20, _q21);
		    {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		      if (gimple_simplify_116 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMA))
		        return true;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_FMAL:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    tree _q22 = gimple_call_arg (_c1, 2);
		    _q22 = do_valueize (valueize, _q22);
		    if (tree_swap_operands_p (_q20, _q21))
		      std::swap (_q20, _q21);
		    {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		      if (gimple_simplify_116 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAL))
		        return true;
		    }
	          }
	        break;
	      case CFN_FMA:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    tree _q22 = gimple_call_arg (_c1, 2);
		    _q22 = do_valueize (valueize, _q22);
		    if (tree_swap_operands_p (_q20, _q21))
		      std::swap (_q20, _q21);
		    {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
		      if (gimple_simplify_116 (res_op, seq, valueize, type, captures, CFN_FMA))
		        return true;
		    }
	          }
	        break;
	      case CFN_FMS:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    tree _q22 = gimple_call_arg (_c1, 2);
		    _q22 = do_valueize (valueize, _q22);
		    if (tree_swap_operands_p (_q20, _q21))
		      std::swap (_q20, _q21);
		    {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (canonicalize_math_after_vectorization_p ()
)
			{
/* #line 7595 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
)
			    {
			      gimple_seq *lseq = seq;
			      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", 7596, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_FNMA, type, 3);
				res_op->ops[0] = captures[1];
				res_op->ops[1] = captures[2];
				res_op->ops[2] = captures[3];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1058:;
			    }
			}
		    }
	          }
	        break;
	      case CFN_FNMA:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    tree _q22 = gimple_call_arg (_c1, 2);
		    _q22 = do_valueize (valueize, _q22);
		    if (tree_swap_operands_p (_q20, _q21))
		      std::swap (_q20, _q21);
		    {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (canonicalize_math_after_vectorization_p ()
)
			{
/* #line 7609 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
)
			    {
			      gimple_seq *lseq = seq;
			      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", 7610, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_FMS, type, 3);
				res_op->ops[0] = captures[1];
				res_op->ops[1] = captures[2];
				res_op->ops[2] = captures[3];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1059:;
			    }
			}
		    }
	          }
	        break;
	      case CFN_FNMS:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    tree _q22 = gimple_call_arg (_c1, 2);
		    _q22 = do_valueize (valueize, _q22);
		    if (tree_swap_operands_p (_q20, _q21))
		      std::swap (_q20, _q21);
		    {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (canonicalize_math_after_vectorization_p ()
)
			{
/* #line 7623 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
)
			    {
			      gimple_seq *lseq = seq;
			      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", 7624, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_FMA, type, 3);
				res_op->ops[0] = captures[1];
				res_op->ops[1] = captures[2];
				res_op->ops[2] = captures[3];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1060:;
			    }
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_nop_convert (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q20))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case BIT_NOT_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      {
/* #line 2066 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			if (gimple_simplify_264 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		      break;
		    }
		  case NEGATE_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
			if (gimple_simplify_251 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
{
  tree _p0_pops[1];
  if (gimple_logical_inverted_value (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      {
/* #line 5053 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
/* #line 5053 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])
)
	  {
	    gimple_seq *lseq = seq;
	    if (lseq
	        && (!single_use (captures[0])
	            || !single_use (captures[1])))
	      lseq = NULL;
	    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", 5058, __FILE__, __LINE__);
	    {
	      res_op->set_op (PLUS_EXPR, type, 2);
	      {
		tree _o1[1], _r1;
		_o1[0] = captures[2];
		if (type != TREE_TYPE (_o1[0])
		    && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
		  {
		    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r1) goto next_after_fail1061;
		  }
		else
		  _r1 = _o1[0];
		res_op->ops[0] = _r1;
	      }
	      res_op->ops[1] =  build_all_ones_cst (type);
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1061:;
	  }
      }
}
}
  return false;
}

static bool
gimple_simplify_CONVERT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
/* #line 1842 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
			  if (gimple_simplify_410 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
			    return true;
			}
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			{
/* #line 1842 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
			  if (gimple_simplify_410 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
			    return true;
			}
}
		  }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
/* #line 1842 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
			  if (gimple_simplify_410 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			    return true;
			}
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			{
/* #line 1842 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
			  if (gimple_simplify_410 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			    return true;
			}
}
		  }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
/* #line 1842 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21 };
			  if (gimple_simplify_410 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
			    return true;
			}
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			{
/* #line 1842 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20 };
			  if (gimple_simplify_410 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
			    return true;
			}
}
		  }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (gimple_zero_one_valued_p (_q20, valueize))
		    {
		      switch (TREE_CODE (_q21))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 2030 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 2030 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				{
				  gimple_seq *lseq = seq;
				  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", 2034, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[1];
				      if (type != TREE_TYPE (_o1[0])
				          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
					{
					  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail1062;
				        }
				      else
				        _r1 = _o1[0];
				      res_op->ops[0] = _r1;
				    }
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[2];
				      if (type != TREE_TYPE (_o1[0])
				          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
					{
					  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail1062;
				        }
				      else
				        _r1 = _o1[0];
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1062:;
				}
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 2588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 2588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (POINTER_TYPE_P (type)
)
			    {
			      gimple_seq *lseq = seq;
			      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", 2589, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  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);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail1063:;
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case INTEGER_CST:
				      {
					{
/* #line 3513 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
					  if (gimple_simplify_362 (res_op, seq, valueize, type, captures, MIN_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case INTEGER_CST:
				      {
					{
/* #line 3513 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
					  if (gimple_simplify_362 (res_op, seq, valueize, type, captures, MAX_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
/* #line 4013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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))
)
				{
				  gimple_seq *lseq = seq;
				  if (lseq
				      && (!single_use (captures[0])))
				    lseq = NULL;
				  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", 4019, __FILE__, __LINE__);
				  {
				    res_op->set_op (LSHIFT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[1];
				      if (type != TREE_TYPE (_o1[0])
				          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
					{
					  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail1064;
				        }
				      else
				        _r1 = _o1[0];
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[2];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1064:;
				}
			      else
				{
/* #line 4020 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (wi::ltu_p (wi::to_wide (captures[2]), TYPE_PRECISION (TREE_TYPE (captures[0])))
)
				    {
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[0])))
				        lseq = NULL;
				      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", 4021, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  build_zero_cst (type);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1065:;
				    }
				}
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 4029 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4029 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    if ((
1
 && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
 || (
0
 && type == TREE_TYPE (captures[0]))
)
      {
	gimple_seq *lseq = seq;
	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", 4031, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1066:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 4089 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    {
/* #line 4089 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (((
1
 && useless_type_conversion_p (type, inside_type))
 || (
0
 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
 && (((inter_int || inter_ptr) && final_int)
 || (inter_float && final_float))
 && inter_prec >= final_prec
)
			  {
			    gimple_seq *lseq = seq;
			    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", 4123, __FILE__, __LINE__);
			    {
			      res_op->set_op (NOP_EXPR, type, 1);
			      res_op->ops[0] = captures[1];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1067:;
			  }
			else
			  {
/* #line 4130 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
			      {
				gimple_seq *lseq = seq;
				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", 4134, __FILE__, __LINE__);
				{
				  res_op->set_op (NOP_EXPR, type, 1);
				  res_op->ops[0] = captures[1];
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1068:;
			      }
			    else
			      {
/* #line 4140 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				  {
				    gimple_seq *lseq = seq;
				    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", 4144, __FILE__, __LINE__);
				    {
				      res_op->set_op (NOP_EXPR, type, 1);
				      res_op->ops[0] = captures[1];
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1069:;
				  }
				else
				  {
/* #line 4157 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				      {
					gimple_seq *lseq = seq;
					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", 4167, __FILE__, __LINE__);
					{
					  res_op->set_op (NOP_EXPR, type, 1);
					  res_op->ops[0] = captures[1];
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1070:;
				      }
				    else
				      {
/* #line 4171 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (1
 && final_int && inter_int && inside_int
 && final_prec == inside_prec
 && final_prec > inter_prec
 && inter_unsignedp
)
					  {
					    gimple_seq *lseq = seq;
					    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", 4176, __FILE__, __LINE__);
					    {
					      res_op->set_op (NOP_EXPR, type, 1);
					      {
						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)));
						gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1071;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1071:;
					  }
					else
					  {
/* #line 4184 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (1
 && inside_int && inter_float && final_int &&
 (unsigned) significand_size (TYPE_MODE (inter_type))
 >= inside_prec - !inside_unsignedp
)
					      {
						gimple_seq *lseq = seq;
						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", 4188, __FILE__, __LINE__);
						{
						  res_op->set_op (NOP_EXPR, type, 1);
						  res_op->ops[0] = captures[1];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1072:;
					      }
					  }
				      }
				  }
			      }
			  }
		    }
		  }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 4089 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    {
/* #line 4089 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (((
1
 && useless_type_conversion_p (type, inside_type))
 || (
0
 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
 && (((inter_int || inter_ptr) && final_int)
 || (inter_float && final_float))
 && inter_prec >= final_prec
)
			  {
			    gimple_seq *lseq = seq;
			    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", 4123, __FILE__, __LINE__);
			    {
			      res_op->set_op (NOP_EXPR, type, 1);
			      res_op->ops[0] = captures[1];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1073:;
			  }
			else
			  {
/* #line 4130 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
			      {
				gimple_seq *lseq = seq;
				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", 4134, __FILE__, __LINE__);
				{
				  res_op->set_op (NOP_EXPR, type, 1);
				  res_op->ops[0] = captures[1];
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1074:;
			      }
			    else
			      {
/* #line 4140 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				  {
				    gimple_seq *lseq = seq;
				    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", 4144, __FILE__, __LINE__);
				    {
				      res_op->set_op (NOP_EXPR, type, 1);
				      res_op->ops[0] = captures[1];
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1075:;
				  }
				else
				  {
/* #line 4157 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				      {
					gimple_seq *lseq = seq;
					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", 4167, __FILE__, __LINE__);
					{
					  res_op->set_op (NOP_EXPR, type, 1);
					  res_op->ops[0] = captures[1];
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1076:;
				      }
				    else
				      {
/* #line 4171 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (1
 && final_int && inter_int && inside_int
 && final_prec == inside_prec
 && final_prec > inter_prec
 && inter_unsignedp
)
					  {
					    gimple_seq *lseq = seq;
					    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", 4176, __FILE__, __LINE__);
					    {
					      res_op->set_op (NOP_EXPR, type, 1);
					      {
						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)));
						gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1077;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1077:;
					  }
					else
					  {
/* #line 4184 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (1
 && inside_int && inter_float && final_int &&
 (unsigned) significand_size (TYPE_MODE (inter_type))
 >= inside_prec - !inside_unsignedp
)
					      {
						gimple_seq *lseq = seq;
						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", 4188, __FILE__, __LINE__);
						{
						  res_op->set_op (NOP_EXPR, type, 1);
						  res_op->ops[0] = captures[1];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1078:;
					      }
					  }
				      }
				  }
			      }
			  }
		    }
		  }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 4209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
			    {
			      gimple_seq *lseq = seq;
			      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", 4214, __FILE__, __LINE__);
			      {
				res_op->set_op (NOP_EXPR, type, 1);
				res_op->ops[0] = captures[0];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1079:;
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_q22))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4702 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
/* #line 4702 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				if (INTEGRAL_TYPE_P (type)
 && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
)
				  {
				    gimple_seq *lseq = seq;
				    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", 4704, __FILE__, __LINE__);
				    {
				      res_op->set_op (COND_EXPR, type, 3);
				      res_op->ops[0] = captures[1];
				      res_op->ops[0] = unshare_expr (res_op->ops[0]);
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[2];
					if (type != TREE_TYPE (_o1[0])
					    && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
					  {
					    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1080;
					  }
					else
					  _r1 = _o1[0];
					res_op->ops[1] = _r1;
				      }
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[3];
					if (type != TREE_TYPE (_o1[0])
					    && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
					  {
					    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1080;
					  }
					else
					  _r1 = _o1[0];
					res_op->ops[2] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1080:;
				  }
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q21))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 7056 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						    if (gimple_simplify_208 (res_op, seq, valueize, type, captures, MAX_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q21))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 7056 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						    if (gimple_simplify_208 (res_op, seq, valueize, type, captures, MIN_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q21))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
						    if (gimple_simplify_509 (res_op, seq, valueize, type, captures, PLUS_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
				    if (gimple_simplify_402 (res_op, seq, valueize, type, captures, PLUS_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
				    if (gimple_simplify_9 (res_op, seq, valueize, type, captures, PLUS_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
		    if (gimple_simplify_152 (res_op, seq, valueize, type, captures, PLUS_EXPR))
		      return true;
		  }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q21))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
						    if (gimple_simplify_509 (res_op, seq, valueize, type, captures, MINUS_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
				    if (gimple_simplify_402 (res_op, seq, valueize, type, captures, MINUS_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
				    if (gimple_simplify_9 (res_op, seq, valueize, type, captures, MINUS_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
		    if (gimple_simplify_152 (res_op, seq, valueize, type, captures, MINUS_EXPR))
		      return true;
		  }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q21))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
						    if (gimple_simplify_509 (res_op, seq, valueize, type, captures, MULT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
				    if (gimple_simplify_402 (res_op, seq, valueize, type, captures, MULT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
				    if (gimple_simplify_9 (res_op, seq, valueize, type, captures, MULT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
		    if (gimple_simplify_152 (res_op, seq, valueize, type, captures, MULT_EXPR))
		      return true;
		  }
	          break;
	        }
	      case RDIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q21))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50 };
						    if (gimple_simplify_509 (res_op, seq, valueize, type, captures, RDIV_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q21 };
				    if (gimple_simplify_402 (res_op, seq, valueize, type, captures, RDIV_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q40 };
				    if (gimple_simplify_9 (res_op, seq, valueize, type, captures, RDIV_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 7209 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q20, _q21, _q21 };
		    if (gimple_simplify_152 (res_op, seq, valueize, type, captures, RDIV_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_TRUNCL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCL, CFN_TRUNC))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_TRUNC:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNC, CFN_TRUNC))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_TRUNCF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF, CFN_TRUNC))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FLOORL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL, CFN_FLOOR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FLOOR:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOOR, CFN_FLOOR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FLOORF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF, CFN_FLOOR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CEILL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILL, CFN_CEIL))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CEIL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEIL, CFN_CEIL))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CEILF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF, CFN_CEIL))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_ROUNDEVENL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDEVENL, CFN_ROUNDEVEN))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_ROUNDEVEN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDEVEN, CFN_ROUNDEVEN))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_ROUNDEVENF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDEVENF, CFN_ROUNDEVEN))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_ROUNDL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDL, CFN_ROUND))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_ROUND:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUND, CFN_ROUND))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_ROUNDF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF, CFN_ROUND))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_NEARBYINTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL, CFN_NEARBYINT))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_NEARBYINT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINT, CFN_NEARBYINT))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_NEARBYINTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF, CFN_NEARBYINT))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_RINTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTL, CFN_RINT))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_RINT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINT, CFN_RINT))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_RINTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF, CFN_RINT))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, CFN_SQRT))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, CFN_SQRT))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    if (gimple_float16_value_p (_q30, valueize))
				      {
					{
/* #line 7017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					  if (gimple_simplify_344 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, CFN_SQRT))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    {
/* #line 7028 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_178 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
						        return true;
						    }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    {
/* #line 7028 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_178 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
						        return true;
						    }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    {
/* #line 7028 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_178 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
						        return true;
						    }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF16:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    {
/* #line 7028 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_178 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
						        return true;
						    }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF32:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    {
/* #line 7028 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_178 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
						        return true;
						    }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF64:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    {
/* #line 7028 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_178 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
						        return true;
						    }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF128:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    {
/* #line 7028 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_178 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
						        return true;
						    }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF32X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    {
/* #line 7028 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_178 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
						        return true;
						    }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF64X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    {
/* #line 7028 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_178 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
						        return true;
						    }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF128X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    {
/* #line 7028 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_178 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
						        return true;
						    }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    {
/* #line 7028 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q50 };
						      if (gimple_simplify_178 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
						        return true;
						    }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FMAF:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    tree _q22 = gimple_call_arg (_c1, 2);
		    _q22 = do_valueize (valueize, _q22);
		    if (tree_swap_operands_p (_q20, _q21))
		      std::swap (_q20, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    switch (TREE_CODE (_q22))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q22))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								CASE_CONVERT:
								  {
								    tree _q70 = gimple_assign_rhs1 (_a4);
								    _q70 = do_valueize (valueize, _q70);
								    {
/* #line 7041 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q50, _q70 };
								      if (gimple_simplify_144 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAF, CFN_FMA))
								        return true;
								    }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FMA:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    tree _q22 = gimple_call_arg (_c1, 2);
		    _q22 = do_valueize (valueize, _q22);
		    if (tree_swap_operands_p (_q20, _q21))
		      std::swap (_q20, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    switch (TREE_CODE (_q22))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q22))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								CASE_CONVERT:
								  {
								    tree _q70 = gimple_assign_rhs1 (_a4);
								    _q70 = do_valueize (valueize, _q70);
								    {
/* #line 7041 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q50, _q70 };
								      if (gimple_simplify_144 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMA, CFN_FMA))
								        return true;
								    }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FMAL:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    tree _q22 = gimple_call_arg (_c1, 2);
		    _q22 = do_valueize (valueize, _q22);
		    if (tree_swap_operands_p (_q20, _q21))
		      std::swap (_q20, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q20))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q30 = gimple_assign_rhs1 (_a2);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q21))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						CASE_CONVERT:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    switch (TREE_CODE (_q22))
						      {
						      case SSA_NAME:
						        if (gimple *_d4 = get_def (valueize, _q22))
						          {
							    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							      switch (gimple_assign_rhs_code (_a4))
								{
								CASE_CONVERT:
								  {
								    tree _q70 = gimple_assign_rhs1 (_a4);
								    _q70 = do_valueize (valueize, _q70);
								    {
/* #line 7041 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q50, _q70 };
								      if (gimple_simplify_144 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAL, CFN_FMA))
								        return true;
								    }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_VIEW_CONVERT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  {
/* #line 4029 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4029 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    if ((
1
 && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
 || (
0
 && type == TREE_TYPE (captures[0]))
)
      {
	gimple_seq *lseq = seq;
	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", 4031, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1081:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q20) == SSA_NAME
		       || is_gimple_min_invariant (_q20)))
		    {
		      _q20 = do_valueize (valueize, _q20);
		      {
/* #line 4036 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			gimple_seq *lseq = seq;
			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", 4036, __FILE__, __LINE__);
			{
			  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			  res_op->ops[0] = captures[0];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1082:;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 4042 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4042 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
      {
	gimple_seq *lseq = seq;
	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", 4045, __FILE__, __LINE__);
	{
	  res_op->set_op (NOP_EXPR, type, 1);
	  res_op->ops[0] = captures[0];
	  res_op->resimplify (lseq, valueize);
	  return true;
	}
next_after_fail1083:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 4051 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
/* #line 4051 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))))
)
		      {
			gimple_seq *lseq = seq;
			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", 4057, __FILE__, __LINE__);
			{
			  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			  res_op->ops[0] = captures[1];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1084:;
		      }
		  }
	          break;
	        }
	      case CONSTRUCTOR:
	        {
		  {
/* #line 4062 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		    {
/* #line 4062 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (CONSTRUCTOR_NELTS (ctor) == 0
)
			  {
			    gimple_seq *lseq = seq;
			    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", 4067, __FILE__, __LINE__);
			    {
			      tree tem;
			      tem =  build_zero_cst (type);
			      res_op->set_value (tem);
			      return true;
			    }
next_after_fail1085:;
			  }
			else
			  {
/* #line 4068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
			      {
				gimple_seq *lseq = seq;
				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", 4073, __FILE__, __LINE__);
				{
				  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				  res_op->ops[0] =  CONSTRUCTOR_ELT (ctor, 0)->value;
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1086:;
			      }
			  }
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_FLOAT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  {
/* #line 4029 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4029 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    if ((
1
 && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
 || (
0
 && type == TREE_TYPE (captures[0]))
)
      {
	gimple_seq *lseq = seq;
	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", 4031, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1087:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 4089 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    {
/* #line 4089 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (((
1
 && useless_type_conversion_p (type, inside_type))
 || (
0
 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
 && (((inter_int || inter_ptr) && final_int)
 || (inter_float && final_float))
 && inter_prec >= final_prec
)
			  {
			    gimple_seq *lseq = seq;
			    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", 4123, __FILE__, __LINE__);
			    {
			      res_op->set_op (FLOAT_EXPR, type, 1);
			      res_op->ops[0] = captures[1];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1088:;
			  }
			else
			  {
/* #line 4130 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
			      {
				gimple_seq *lseq = seq;
				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", 4134, __FILE__, __LINE__);
				{
				  res_op->set_op (FLOAT_EXPR, type, 1);
				  res_op->ops[0] = captures[1];
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1089:;
			      }
			    else
			      {
/* #line 4140 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				  {
				    gimple_seq *lseq = seq;
				    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", 4144, __FILE__, __LINE__);
				    {
				      res_op->set_op (FLOAT_EXPR, type, 1);
				      res_op->ops[0] = captures[1];
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1090:;
				  }
				else
				  {
/* #line 4157 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				      {
					gimple_seq *lseq = seq;
					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", 4167, __FILE__, __LINE__);
					{
					  res_op->set_op (FLOAT_EXPR, type, 1);
					  res_op->ops[0] = captures[1];
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1091:;
				      }
				    else
				      {
/* #line 4171 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (1
 && final_int && inter_int && inside_int
 && final_prec == inside_prec
 && final_prec > inter_prec
 && inter_unsignedp
)
					  {
					    gimple_seq *lseq = seq;
					    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", 4176, __FILE__, __LINE__);
					    {
					      res_op->set_op (NOP_EXPR, type, 1);
					      {
						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)));
						gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1092;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1092:;
					  }
					else
					  {
/* #line 4184 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (1
 && inside_int && inter_float && final_int &&
 (unsigned) significand_size (TYPE_MODE (inter_type))
 >= inside_prec - !inside_unsignedp
)
					      {
						gimple_seq *lseq = seq;
						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", 4188, __FILE__, __LINE__);
						{
						  res_op->set_op (NOP_EXPR, type, 1);
						  res_op->ops[0] = captures[1];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1093:;
					      }
					  }
				      }
				  }
			      }
			  }
		    }
		  }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 4089 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    {
/* #line 4089 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (((
1
 && useless_type_conversion_p (type, inside_type))
 || (
0
 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
 && (((inter_int || inter_ptr) && final_int)
 || (inter_float && final_float))
 && inter_prec >= final_prec
)
			  {
			    gimple_seq *lseq = seq;
			    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", 4123, __FILE__, __LINE__);
			    {
			      res_op->set_op (FLOAT_EXPR, type, 1);
			      res_op->ops[0] = captures[1];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1094:;
			  }
			else
			  {
/* #line 4130 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
			      {
				gimple_seq *lseq = seq;
				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", 4134, __FILE__, __LINE__);
				{
				  res_op->set_op (FLOAT_EXPR, type, 1);
				  res_op->ops[0] = captures[1];
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1095:;
			      }
			    else
			      {
/* #line 4140 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				  {
				    gimple_seq *lseq = seq;
				    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", 4144, __FILE__, __LINE__);
				    {
				      res_op->set_op (FLOAT_EXPR, type, 1);
				      res_op->ops[0] = captures[1];
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1096:;
				  }
				else
				  {
/* #line 4157 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				      {
					gimple_seq *lseq = seq;
					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", 4167, __FILE__, __LINE__);
					{
					  res_op->set_op (FLOAT_EXPR, type, 1);
					  res_op->ops[0] = captures[1];
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1097:;
				      }
				    else
				      {
/* #line 4171 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (1
 && final_int && inter_int && inside_int
 && final_prec == inside_prec
 && final_prec > inter_prec
 && inter_unsignedp
)
					  {
					    gimple_seq *lseq = seq;
					    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", 4176, __FILE__, __LINE__);
					    {
					      res_op->set_op (NOP_EXPR, type, 1);
					      {
						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)));
						gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1098;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1098:;
					  }
					else
					  {
/* #line 4184 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (1
 && inside_int && inter_float && final_int &&
 (unsigned) significand_size (TYPE_MODE (inter_type))
 >= inside_prec - !inside_unsignedp
)
					      {
						gimple_seq *lseq = seq;
						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", 4188, __FILE__, __LINE__);
						{
						  res_op->set_op (NOP_EXPR, type, 1);
						  res_op->ops[0] = captures[1];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1099:;
					      }
					  }
				      }
				  }
			      }
			  }
		    }
		  }
	          break;
	        }
	      case FIX_TRUNC_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 4196 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 4196 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (!flag_trapping_math
 && !HONOR_SIGNED_ZEROS (type)
 && types_match (type, TREE_TYPE (captures[0]))
 && direct_internal_fn_supported_p (IFN_TRUNC, type,
 OPTIMIZE_FOR_BOTH)
)
		      {
			gimple_seq *lseq = seq;
			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", 4201, __FILE__, __LINE__);
			{
			  res_op->set_op (CFN_TRUNC, type, 1);
			  res_op->ops[0] = captures[0];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1100:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_FIX_TRUNC_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  {
/* #line 4029 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4029 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    if ((
1
 && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
 || (
0
 && type == TREE_TYPE (captures[0]))
)
      {
	gimple_seq *lseq = seq;
	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", 4031, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1101:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 4089 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    {
/* #line 4089 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (((
1
 && useless_type_conversion_p (type, inside_type))
 || (
0
 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
 && (((inter_int || inter_ptr) && final_int)
 || (inter_float && final_float))
 && inter_prec >= final_prec
)
			  {
			    gimple_seq *lseq = seq;
			    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", 4123, __FILE__, __LINE__);
			    {
			      res_op->set_op (FIX_TRUNC_EXPR, type, 1);
			      res_op->ops[0] = captures[1];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1102:;
			  }
			else
			  {
/* #line 4130 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
			      {
				gimple_seq *lseq = seq;
				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", 4134, __FILE__, __LINE__);
				{
				  res_op->set_op (FIX_TRUNC_EXPR, type, 1);
				  res_op->ops[0] = captures[1];
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1103:;
			      }
			    else
			      {
/* #line 4140 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				  {
				    gimple_seq *lseq = seq;
				    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", 4144, __FILE__, __LINE__);
				    {
				      res_op->set_op (FIX_TRUNC_EXPR, type, 1);
				      res_op->ops[0] = captures[1];
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1104:;
				  }
				else
				  {
/* #line 4157 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				      {
					gimple_seq *lseq = seq;
					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", 4167, __FILE__, __LINE__);
					{
					  res_op->set_op (FIX_TRUNC_EXPR, type, 1);
					  res_op->ops[0] = captures[1];
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1105:;
				      }
				    else
				      {
/* #line 4171 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (1
 && final_int && inter_int && inside_int
 && final_prec == inside_prec
 && final_prec > inter_prec
 && inter_unsignedp
)
					  {
					    gimple_seq *lseq = seq;
					    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", 4176, __FILE__, __LINE__);
					    {
					      res_op->set_op (NOP_EXPR, type, 1);
					      {
						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)));
						gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1106;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1106:;
					  }
					else
					  {
/* #line 4184 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (1
 && inside_int && inter_float && final_int &&
 (unsigned) significand_size (TYPE_MODE (inter_type))
 >= inside_prec - !inside_unsignedp
)
					      {
						gimple_seq *lseq = seq;
						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", 4188, __FILE__, __LINE__);
						{
						  res_op->set_op (NOP_EXPR, type, 1);
						  res_op->ops[0] = captures[1];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1107:;
					      }
					  }
				      }
				  }
			      }
			  }
		    }
		  }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 4089 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    {
/* #line 4089 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (((
1
 && useless_type_conversion_p (type, inside_type))
 || (
0
 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
 && (((inter_int || inter_ptr) && final_int)
 || (inter_float && final_float))
 && inter_prec >= final_prec
)
			  {
			    gimple_seq *lseq = seq;
			    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", 4123, __FILE__, __LINE__);
			    {
			      res_op->set_op (FIX_TRUNC_EXPR, type, 1);
			      res_op->ops[0] = captures[1];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1108:;
			  }
			else
			  {
/* #line 4130 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
			      {
				gimple_seq *lseq = seq;
				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", 4134, __FILE__, __LINE__);
				{
				  res_op->set_op (FIX_TRUNC_EXPR, type, 1);
				  res_op->ops[0] = captures[1];
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1109:;
			      }
			    else
			      {
/* #line 4140 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				  {
				    gimple_seq *lseq = seq;
				    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", 4144, __FILE__, __LINE__);
				    {
				      res_op->set_op (FIX_TRUNC_EXPR, type, 1);
				      res_op->ops[0] = captures[1];
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1110:;
				  }
				else
				  {
/* #line 4157 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				      {
					gimple_seq *lseq = seq;
					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", 4167, __FILE__, __LINE__);
					{
					  res_op->set_op (FIX_TRUNC_EXPR, type, 1);
					  res_op->ops[0] = captures[1];
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1111:;
				      }
				    else
				      {
/* #line 4171 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (1
 && final_int && inter_int && inside_int
 && final_prec == inside_prec
 && final_prec > inter_prec
 && inter_unsignedp
)
					  {
					    gimple_seq *lseq = seq;
					    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", 4176, __FILE__, __LINE__);
					    {
					      res_op->set_op (NOP_EXPR, type, 1);
					      {
						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)));
						gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1112;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1112:;
					  }
					else
					  {
/* #line 4184 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (1
 && inside_int && inter_float && final_int &&
 (unsigned) significand_size (TYPE_MODE (inter_type))
 >= inside_prec - !inside_unsignedp
)
					      {
						gimple_seq *lseq = seq;
						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", 4188, __FILE__, __LINE__);
						{
						  res_op->set_op (NOP_EXPR, type, 1);
						  res_op->ops[0] = captures[1];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1113:;
					      }
					  }
				      }
				  }
			      }
			  }
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_PAREN_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PAREN_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 4082 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		    gimple_seq *lseq = seq;
		    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", 4082, __FILE__, __LINE__);
		    {
		      tree tem;
		      tem = captures[0];
		      res_op->set_value (tem);
		      return true;
		    }
next_after_fail1114:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (CONSTANT_CLASS_P (_p0))
  {
    {
/* #line 4079 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      gimple_seq *lseq = seq;
      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", 4079, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1115:;
    }
  }
  return false;
}

static bool
gimple_simplify_REALPART_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COMPLEX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 4313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    gimple_seq *lseq = seq;
		    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", 4313, __FILE__, __LINE__);
		    {
		      tree tem;
		      tem = captures[0];
		      res_op->set_value (tem);
		      return true;
		    }
next_after_fail1116:;
		  }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case CONJ_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 4321 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
				    gimple_seq *lseq = seq;
				    if (lseq
				        && (!single_use (captures[0])
				            || !single_use (captures[1])))
				      lseq = NULL;
				    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", 4321, __FILE__, __LINE__);
				    {
				      res_op->set_op (NOP_EXPR, type, 1);
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[2];
					gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
					tem_op.resimplify (lseq, valueize);
					_r1 = maybe_push_res_to_seq (&tem_op, lseq);
					if (!_r1) goto next_after_fail1117;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1117:;
				  }
			          break;
			        }
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  {
/* #line 4329 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
				    const enum tree_code op = PLUS_EXPR;
				    gimple_seq *lseq = seq;
				    if (lseq
				        && (!single_use (captures[0])
				            || !single_use (captures[1])))
				      lseq = NULL;
				    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", 4329, __FILE__, __LINE__);
				    {
				      res_op->set_op (NOP_EXPR, type, 1);
				      {
					tree _o1[2], _r1;
					{
					  tree _o2[1], _r2;
					  _o2[0] = captures[2];
					  gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1118;
					  _o1[0] = _r2;
					}
					{
					  tree _o2[1], _r2;
					  _o2[0] = captures[3];
					  gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1118;
					  _o1[1] = _r2;
					}
					gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					tem_op.resimplify (lseq, valueize);
					_r1 = maybe_push_res_to_seq (&tem_op, lseq);
					if (!_r1) goto next_after_fail1118;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1118:;
				  }
			          break;
			        }
			      case MINUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 4329 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
				    const enum tree_code op = MINUS_EXPR;
				    gimple_seq *lseq = seq;
				    if (lseq
				        && (!single_use (captures[0])
				            || !single_use (captures[1])))
				      lseq = NULL;
				    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", 4329, __FILE__, __LINE__);
				    {
				      res_op->set_op (NOP_EXPR, type, 1);
				      {
					tree _o1[2], _r1;
					{
					  tree _o2[1], _r2;
					  _o2[0] = captures[2];
					  gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1119;
					  _o1[0] = _r2;
					}
					{
					  tree _o2[1], _r2;
					  _o2[0] = captures[3];
					  gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1119;
					  _o1[1] = _r2;
					}
					gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					tem_op.resimplify (lseq, valueize);
					_r1 = maybe_push_res_to_seq (&tem_op, lseq);
					if (!_r1) goto next_after_fail1119;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1119:;
				  }
			          break;
			        }
			      default:;
			      }
			  else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_CEXPIF:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[0])
				              || !single_use (captures[1])))
				        lseq = NULL;
				      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", 4332, __FILE__, __LINE__);
				      {
					res_op->set_op (NOP_EXPR, type, 1);
					{
					  tree _o1[1], _r1;
					  _o1[0] = captures[2];
					  gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_COSF, TREE_TYPE (_o1[0]), _o1[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail1120;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1120:;
				    }
			          }
			        break;
			      case CFN_BUILT_IN_CEXPI:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[0])
				              || !single_use (captures[1])))
				        lseq = NULL;
				      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", 4332, __FILE__, __LINE__);
				      {
					res_op->set_op (NOP_EXPR, type, 1);
					{
					  tree _o1[1], _r1;
					  _o1[0] = captures[2];
					  gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_COS, TREE_TYPE (_o1[0]), _o1[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail1121;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1121:;
				    }
			          }
			        break;
			      case CFN_BUILT_IN_CEXPIL:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[0])
				              || !single_use (captures[1])))
				        lseq = NULL;
				      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", 4332, __FILE__, __LINE__);
				      {
					res_op->set_op (NOP_EXPR, type, 1);
					{
					  tree _o1[1], _r1;
					  _o1[0] = captures[2];
					  gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_COSL, TREE_TYPE (_o1[0]), _o1[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail1122;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1122:;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case CONJ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 4321 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])
		            || !single_use (captures[1])))
		      lseq = NULL;
		    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", 4321, __FILE__, __LINE__);
		    {
		      res_op->set_op (NOP_EXPR, type, 1);
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[2];
			gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
			tem_op.resimplify (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r1) goto next_after_fail1123;
			res_op->ops[0] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1123:;
		  }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
/* #line 4329 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    const enum tree_code op = PLUS_EXPR;
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])
		            || !single_use (captures[1])))
		      lseq = NULL;
		    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", 4329, __FILE__, __LINE__);
		    {
		      res_op->set_op (NOP_EXPR, type, 1);
		      {
			tree _o1[2], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r2) goto next_after_fail1124;
			  _o1[0] = _r2;
			}
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[3];
			  gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r2) goto next_after_fail1124;
			  _o1[1] = _r2;
			}
			gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			tem_op.resimplify (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r1) goto next_after_fail1124;
			res_op->ops[0] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1124:;
		  }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 4329 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    const enum tree_code op = MINUS_EXPR;
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])
		            || !single_use (captures[1])))
		      lseq = NULL;
		    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", 4329, __FILE__, __LINE__);
		    {
		      res_op->set_op (NOP_EXPR, type, 1);
		      {
			tree _o1[2], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r2) goto next_after_fail1125;
			  _o1[0] = _r2;
			}
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[3];
			  gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r2) goto next_after_fail1125;
			  _o1[1] = _r2;
			}
			gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			tem_op.resimplify (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r1) goto next_after_fail1125;
			res_op->ops[0] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1125:;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CEXPIF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 4332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])
		              || !single_use (captures[1])))
		        lseq = NULL;
		      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", 4332, __FILE__, __LINE__);
		      {
			res_op->set_op (NOP_EXPR, type, 1);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_COSF, TREE_TYPE (_o1[0]), _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail1126;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1126:;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CEXPI:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 4332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])
		              || !single_use (captures[1])))
		        lseq = NULL;
		      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", 4332, __FILE__, __LINE__);
		      {
			res_op->set_op (NOP_EXPR, type, 1);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_COS, TREE_TYPE (_o1[0]), _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail1127;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1127:;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CEXPIL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 4332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])
		              || !single_use (captures[1])))
		        lseq = NULL;
		      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", 4332, __FILE__, __LINE__);
		      {
			res_op->set_op (NOP_EXPR, type, 1);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_COSL, TREE_TYPE (_o1[0]), _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail1128;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1128:;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_IMAGPART_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COMPLEX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 4316 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		    gimple_seq *lseq = seq;
		    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", 4316, __FILE__, __LINE__);
		    {
		      tree tem;
		      tem = captures[1];
		      res_op->set_value (tem);
		      return true;
		    }
next_after_fail1129:;
		  }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case CONJ_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 4324 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
				    gimple_seq *lseq = seq;
				    if (lseq
				        && (!single_use (captures[0])
				            || !single_use (captures[1])))
				      lseq = NULL;
				    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", 4324, __FILE__, __LINE__);
				    {
				      res_op->set_op (NOP_EXPR, type, 1);
				      {
					tree _o1[1], _r1;
					{
					  tree _o2[1], _r2;
					  _o2[0] = captures[2];
					  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1130;
					  _o1[0] = _r2;
					}
					gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					tem_op.resimplify (lseq, valueize);
					_r1 = maybe_push_res_to_seq (&tem_op, lseq);
					if (!_r1) goto next_after_fail1130;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1130:;
				  }
			          break;
			        }
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  {
/* #line 4329 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
				    const enum tree_code op = PLUS_EXPR;
				    gimple_seq *lseq = seq;
				    if (lseq
				        && (!single_use (captures[0])
				            || !single_use (captures[1])))
				      lseq = NULL;
				    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", 4329, __FILE__, __LINE__);
				    {
				      res_op->set_op (NOP_EXPR, type, 1);
				      {
					tree _o1[2], _r1;
					{
					  tree _o2[1], _r2;
					  _o2[0] = captures[2];
					  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1131;
					  _o1[0] = _r2;
					}
					{
					  tree _o2[1], _r2;
					  _o2[0] = captures[3];
					  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1131;
					  _o1[1] = _r2;
					}
					gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					tem_op.resimplify (lseq, valueize);
					_r1 = maybe_push_res_to_seq (&tem_op, lseq);
					if (!_r1) goto next_after_fail1131;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1131:;
				  }
			          break;
			        }
			      case MINUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 4329 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
				    const enum tree_code op = MINUS_EXPR;
				    gimple_seq *lseq = seq;
				    if (lseq
				        && (!single_use (captures[0])
				            || !single_use (captures[1])))
				      lseq = NULL;
				    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", 4329, __FILE__, __LINE__);
				    {
				      res_op->set_op (NOP_EXPR, type, 1);
				      {
					tree _o1[2], _r1;
					{
					  tree _o2[1], _r2;
					  _o2[0] = captures[2];
					  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1132;
					  _o1[0] = _r2;
					}
					{
					  tree _o2[1], _r2;
					  _o2[0] = captures[3];
					  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1132;
					  _o1[1] = _r2;
					}
					gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					tem_op.resimplify (lseq, valueize);
					_r1 = maybe_push_res_to_seq (&tem_op, lseq);
					if (!_r1) goto next_after_fail1132;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1132:;
				  }
			          break;
			        }
			      default:;
			      }
			  else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_CEXPIF:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4335 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[0])
				              || !single_use (captures[1])))
				        lseq = NULL;
				      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", 4335, __FILE__, __LINE__);
				      {
					res_op->set_op (NOP_EXPR, type, 1);
					{
					  tree _o1[1], _r1;
					  _o1[0] = captures[2];
					  gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_SINF, TREE_TYPE (_o1[0]), _o1[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail1133;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1133:;
				    }
			          }
			        break;
			      case CFN_BUILT_IN_CEXPI:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4335 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[0])
				              || !single_use (captures[1])))
				        lseq = NULL;
				      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", 4335, __FILE__, __LINE__);
				      {
					res_op->set_op (NOP_EXPR, type, 1);
					{
					  tree _o1[1], _r1;
					  _o1[0] = captures[2];
					  gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_SIN, TREE_TYPE (_o1[0]), _o1[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail1134;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1134:;
				    }
			          }
			        break;
			      case CFN_BUILT_IN_CEXPIL:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4335 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[0])
				              || !single_use (captures[1])))
				        lseq = NULL;
				      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", 4335, __FILE__, __LINE__);
				      {
					res_op->set_op (NOP_EXPR, type, 1);
					{
					  tree _o1[1], _r1;
					  _o1[0] = captures[2];
					  gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_SINL, TREE_TYPE (_o1[0]), _o1[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail1135;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1135:;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case CONJ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 4324 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])
		            || !single_use (captures[1])))
		      lseq = NULL;
		    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", 4324, __FILE__, __LINE__);
		    {
		      res_op->set_op (NOP_EXPR, type, 1);
		      {
			tree _o1[1], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r2) goto next_after_fail1136;
			  _o1[0] = _r2;
			}
			gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			tem_op.resimplify (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r1) goto next_after_fail1136;
			res_op->ops[0] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1136:;
		  }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
/* #line 4329 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    const enum tree_code op = PLUS_EXPR;
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])
		            || !single_use (captures[1])))
		      lseq = NULL;
		    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", 4329, __FILE__, __LINE__);
		    {
		      res_op->set_op (NOP_EXPR, type, 1);
		      {
			tree _o1[2], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r2) goto next_after_fail1137;
			  _o1[0] = _r2;
			}
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[3];
			  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r2) goto next_after_fail1137;
			  _o1[1] = _r2;
			}
			gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			tem_op.resimplify (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r1) goto next_after_fail1137;
			res_op->ops[0] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1137:;
		  }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 4329 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    const enum tree_code op = MINUS_EXPR;
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])
		            || !single_use (captures[1])))
		      lseq = NULL;
		    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", 4329, __FILE__, __LINE__);
		    {
		      res_op->set_op (NOP_EXPR, type, 1);
		      {
			tree _o1[2], _r1;
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[2];
			  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r2) goto next_after_fail1138;
			  _o1[0] = _r2;
			}
			{
			  tree _o2[1], _r2;
			  _o2[0] = captures[3];
			  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r2) goto next_after_fail1138;
			  _o1[1] = _r2;
			}
			gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			tem_op.resimplify (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r1) goto next_after_fail1138;
			res_op->ops[0] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1138:;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CEXPIF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 4335 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])
		              || !single_use (captures[1])))
		        lseq = NULL;
		      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", 4335, __FILE__, __LINE__);
		      {
			res_op->set_op (NOP_EXPR, type, 1);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_SINF, TREE_TYPE (_o1[0]), _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail1139;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1139:;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CEXPI:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 4335 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])
		              || !single_use (captures[1])))
		        lseq = NULL;
		      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", 4335, __FILE__, __LINE__);
		      {
			res_op->set_op (NOP_EXPR, type, 1);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_SIN, TREE_TYPE (_o1[0]), _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail1140;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1140:;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CEXPIL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 4335 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
		      gimple_seq *lseq = seq;
		      if (lseq
		          && (!single_use (captures[0])
		              || !single_use (captures[1])))
		        lseq = NULL;
		      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", 4335, __FILE__, __LINE__);
		      {
			res_op->set_op (NOP_EXPR, type, 1);
			{
			  tree _o1[1], _r1;
			  _o1[0] = captures[2];
			  gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_SINL, TREE_TYPE (_o1[0]), _o1[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail1141;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1141:;
		    }
	          }
	        break;
	      case CFN_MUL_OVERFLOW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if (integer_nonzerop (_q21))
		      {
			{
/* #line 6435 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_47 (res_op, seq, valueize, type, captures))
			    return true;
			}
		      }
		    if (integer_nonzerop (_q20))
		      {
			{
/* #line 6435 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			  if (gimple_simplify_47 (res_op, seq, valueize, type, captures))
			    return true;
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CONJ_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case CONJ_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 4340 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				    if (gimple_simplify_305 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      case COMPLEX_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 4346 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
				    {
/* #line 4346 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree itype = TREE_TYPE (type);
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[1])))
					  lseq = NULL;
					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", 4347, __FILE__, __LINE__);
					{
					  res_op->set_op (COMPLEX_EXPR, type, 2);
					  {
					    tree _o1[1], _r1;
					    _o1[0] = captures[2];
					    if (itype != TREE_TYPE (_o1[0])
					        && !useless_type_conversion_p (itype, TREE_TYPE (_o1[0])))
					      {
						gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, itype, _o1[0]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1142;
					      }
					    else
					      _r1 = _o1[0];
					    res_op->ops[0] = _r1;
					  }
					  {
					    tree _o1[1], _r1;
					    {
					      tree _o2[1], _r2;
					      _o2[0] = captures[3];
					      if (itype != TREE_TYPE (_o2[0])
					          && !useless_type_conversion_p (itype, TREE_TYPE (_o2[0])))
						{
						  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, itype, _o2[0]);
						  tem_op.resimplify (lseq, valueize);
						  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						  if (!_r2) goto next_after_fail1142;
					        }
					      else
					        _r2 = _o2[0];
					      _o1[0] = _r2;
					    }
					    gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1142;
					    res_op->ops[1] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1142:;
				    }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case CONJ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 4340 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_305 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      case COMPLEX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 4346 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
		    {
/* #line 4346 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree itype = TREE_TYPE (type);
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])
			        || !single_use (captures[1])))
			  lseq = NULL;
			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", 4347, __FILE__, __LINE__);
			{
			  res_op->set_op (COMPLEX_EXPR, type, 2);
			  {
			    tree _o1[1], _r1;
			    _o1[0] = captures[2];
			    if (itype != TREE_TYPE (_o1[0])
			        && !useless_type_conversion_p (itype, TREE_TYPE (_o1[0])))
			      {
				gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, itype, _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1143;
			      }
			    else
			      _r1 = _o1[0];
			    res_op->ops[0] = _r1;
			  }
			  {
			    tree _o1[1], _r1;
			    {
			      tree _o2[1], _r2;
			      _o2[0] = captures[3];
			      if (itype != TREE_TYPE (_o2[0])
			          && !useless_type_conversion_p (itype, TREE_TYPE (_o2[0])))
				{
				  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, itype, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1143;
			        }
			      else
			        _r2 = _o2[0];
			      _o1[0] = _r2;
			    }
			    gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r1) goto next_after_fail1143;
			    res_op->ops[1] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1143:;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_BSWAP16 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP16:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4357 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				      if (gimple_simplify_196 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP16:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP16))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP16:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q40 = gimple_call_arg (_c2, 0);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP16))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP16:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP16))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP16:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q40 = gimple_call_arg (_c2, 0);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP16))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP16:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP16))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP16:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q40 = gimple_call_arg (_c2, 0);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP16))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_BSWAP16:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 4354 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_250 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_BSWAP32 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP32:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4357 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				      if (gimple_simplify_196 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP32:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP32))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP32:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q40 = gimple_call_arg (_c2, 0);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP32))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP32:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP32))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP32:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q40 = gimple_call_arg (_c2, 0);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP32))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP32:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP32))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP32:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q40 = gimple_call_arg (_c2, 0);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP32))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_BSWAP32:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 4354 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_250 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_BSWAP64 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP64:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4357 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				      if (gimple_simplify_196 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP64:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP64))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP64:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q40 = gimple_call_arg (_c2, 0);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP64))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP64:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP64))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP64:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q40 = gimple_call_arg (_c2, 0);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP64))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP64:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP64))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP64:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q40 = gimple_call_arg (_c2, 0);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP64))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_BSWAP64:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 4354 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_250 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_BSWAP128 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP128:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4357 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
				      if (gimple_simplify_196 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP128:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP128))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP128:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q40 = gimple_call_arg (_c2, 0);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP128))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP128:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP128))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP128:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q40 = gimple_call_arg (_c2, 0);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP128))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP128:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP128))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP128:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q40 = gimple_call_arg (_c2, 0);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 4361 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_437 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP128))
				        return true;
				    }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_BSWAP128:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 4354 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_250 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LOGF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXPF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1144:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP2F)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGF, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1145;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1145:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP10F)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGF, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1146;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1146:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_POW10F)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGF, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1147;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1147:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_SQRTF)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGF, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1148;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1148:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_CBRTF)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGF, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1149;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1149:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POWF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_430 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_POWF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LOG (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1150:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP2)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1151;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1151:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP10)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1152;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1152:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_POW10)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1153;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1153:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_SQRT)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1154;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1154:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_CBRT)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1155;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1155:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_430 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG, CFN_BUILT_IN_POW))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LOGL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXPL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1156:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP2L)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGL, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1157;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1157:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP10L)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGL, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1158;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1158:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_POW10L)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGL, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1159;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1159:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_SQRTL)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGL, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1160;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1160:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_CBRTL)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGL, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1161;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1161:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POWL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_430 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_POWL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_LOG (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1162:;
			}
		    }
	          }
	        break;
	      case CFN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_EXP2)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1163;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1163:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_EXP10)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1164;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1164:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_SQRT)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1165;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1165:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_430 (res_op, seq, valueize, type, captures, CFN_LOG, CFN_POW))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LOG2F (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXP2F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1166:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXPF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXPF)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2F, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1167;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1167:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP10F)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2F, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1168;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1168:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_POW10F)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2F, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1169;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1169:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_SQRTF)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2F, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1170;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1170:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_CBRTF)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2F, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1171;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1171:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POWF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_430 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_POWF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LOG2 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1172:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1173;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1173:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP10)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1174;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1174:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_POW10)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1175;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1175:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_SQRT)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1176;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1176:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_CBRT)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1177;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1177:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_430 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG2, CFN_BUILT_IN_POW))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LOG2L (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXP2L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1178:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXPL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXPL)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2L, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1179;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1179:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP10L)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2L, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1180;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1180:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_POW10L)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2L, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1181;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1181:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_SQRTL)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2L, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1182;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1182:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_CBRTL)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2L, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1183;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1183:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POWL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_430 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_POWL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_LOG2 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1184:;
			}
		    }
	          }
	        break;
	      case CFN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_EXP)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG2, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1185;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1185:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_EXP10)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG2, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1186;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1186:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_SQRT)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG2, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1187;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1187:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_430 (res_op, seq, valueize, type, captures, CFN_LOG2, CFN_POW))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LOG10F (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXP10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1188:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1189:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXPF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXPF)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10F, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1190;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1190:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP2F)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10F, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1191;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1191:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_SQRTF)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10F, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1192;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1192:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_CBRTF)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10F, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1193;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1193:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POWF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_430 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG10F, CFN_BUILT_IN_POWF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LOG10 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1194:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1195:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1196;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1196:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP2)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1197;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1197:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_SQRT)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1198;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1198:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_CBRT)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1199;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1199:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_430 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG10, CFN_BUILT_IN_POW))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LOG10L (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXP10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1200:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1201:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXPL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXPL)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10L, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1202;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1202:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_EXP2L)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10L, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1203;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1203:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_SQRTL)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10L, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1204;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1204:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_BUILT_IN_CBRTL)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10L, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1205;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1205:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POWL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_430 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG10L, CFN_BUILT_IN_POWL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_LOG10 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6541, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1206:;
			}
		    }
	          }
	        break;
	      case CFN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_EXP)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG10, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1207;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1207:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_EXP2)
 {
 CASE_CFN_EXP:
 x = build_real_truncate (type, dconst_e ());
 break;
 CASE_CFN_EXP2:
 x = build_real (type, dconst2);
 break;
 CASE_CFN_EXP10:
 CASE_CFN_POW10:
 {
 REAL_VALUE_TYPE dconst10;
 real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
 x = build_real (type, dconst10);
 }
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6580, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    {
				      tree _o1[1], _r1;
				      _o1[0] =  x;
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG10, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1208;
				      res_op->ops[0] = _r1;
				    }
				    res_op->ops[1] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1208:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
/* #line 6588 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (SCALAR_FLOAT_TYPE_P (type)
)
			    {
			      {
/* #line 6589 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree x;
 switch (CFN_SQRT)
 {
 CASE_CFN_SQRT:
 x = build_real (type, dconsthalf);
 break;
 CASE_CFN_CBRT:
 x = build_real_truncate (type, dconst_third ());
 break;
 default:
 gcc_unreachable ();
 }
				  gimple_seq *lseq = seq;
				  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", 6605, __FILE__, __LINE__);
				  {
				    res_op->set_op (MULT_EXPR, type, 2);
				    res_op->ops[0] =  x;
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[0];
				      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG10, TREE_TYPE (_o1[0]), _o1[0]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1209;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1209:;
			      }
			    }
			}
		    }
	          }
	        break;
	      case CFN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
		      if (gimple_simplify_430 (res_op, seq, valueize, type, captures, CFN_LOG10, CFN_POW))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXPF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_LOGF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1210:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_LOG:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1211:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXPL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_LOGL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1212:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_EXP (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_LOG:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1213:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP2F (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_LOG2F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1214:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP2 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_LOG2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1215:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP2L (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_LOG2L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1216:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_EXP2 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_LOG2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1217:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP10F (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_LOG10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1218:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP10 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_LOG10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1219:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_EXP10L (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_LOG10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1220:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_EXP10 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_LOG10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1221:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POW10F (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_LOG10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1222:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POW10 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_LOG10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1223:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POW10L (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_LOG10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6545, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem = captures[0];
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1224:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SQRTF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXPF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXPF, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1225;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1225:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP2F, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1226;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1226:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP10F, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1227;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1227:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW10F, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1228;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1228:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6886, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POWF, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_real (type, dconst_quarter ());
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1229:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6890, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POWF, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_real_truncate (type, dconst_sixth ());
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1230:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POWF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6902, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POWF, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[0];
			      gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1231;
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[1];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1231;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1231:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SQRT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1232;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1232:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP2, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1233;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1233:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP10, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1234;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1234:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW10, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1235;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1235:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6886, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_real (type, dconst_quarter ());
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1236:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6890, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_real_truncate (type, dconst_sixth ());
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1237:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6902, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[0];
			      gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1238;
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[1];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1238;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1238:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SQRTL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXPL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXPL, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1239;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1239:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP2L, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1240;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1240:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP10L, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1241;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1241:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW10L, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1242;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1242:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6886, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POWL, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_real (type, dconst_quarter ());
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1243:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6890, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POWL, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_real_truncate (type, dconst_sixth ());
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1244:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POWL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6902, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POWL, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[0];
			      gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1245;
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[1];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1245;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1245:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_SQRT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_EXP, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1246;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1246:;
			}
		    }
	          }
	        break;
	      case CFN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_EXP2, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1247;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1247:;
			}
		    }
	          }
	        break;
	      case CFN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6669, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_EXP10, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1248;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1248:;
			}
		    }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6886, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_POW, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_real (type, dconst_quarter ());
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1249:;
			}
		    }
	          }
	        break;
	      case CFN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6902, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_POW, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[0];
			      gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1250;
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[1];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1250;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1250:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CBRTF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXPF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6673, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXPF, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real_truncate (type, dconst_third ());
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1251;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1251:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6673, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP2F, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real_truncate (type, dconst_third ());
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1252;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1252:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6673, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP10F, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real_truncate (type, dconst_third ());
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1253;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1253:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6673, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW10F, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real_truncate (type, dconst_third ());
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1254;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1254:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6894, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POWF, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_real_truncate (type, dconst_sixth ());
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1255:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6898, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWF, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] =  build_real_truncate (type, dconst_ninth ());
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1256:;
			    }
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6906, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWF, type, 2);
				res_op->ops[0] = captures[0];
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[1];
				  _o1[1] =  build_real_truncate (type, dconst_third ());
				  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1257;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1257:;
			    }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CBRT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6673, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real_truncate (type, dconst_third ());
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1258;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1258:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6673, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP2, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real_truncate (type, dconst_third ());
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1259;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1259:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6673, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP10, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real_truncate (type, dconst_third ());
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1260;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1260:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6673, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW10, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real_truncate (type, dconst_third ());
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1261;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1261:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6894, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_real_truncate (type, dconst_sixth ());
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1262:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6898, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POW, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] =  build_real_truncate (type, dconst_ninth ());
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1263:;
			    }
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6906, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POW, type, 2);
				res_op->ops[0] = captures[0];
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[1];
				  _o1[1] =  build_real_truncate (type, dconst_third ());
				  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1264;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1264:;
			    }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CBRTL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_EXPL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6673, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXPL, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real_truncate (type, dconst_third ());
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1265;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1265:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6673, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP2L, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real_truncate (type, dconst_third ());
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1266;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1266:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6673, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP10L, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real_truncate (type, dconst_third ());
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1267;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1267:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  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", 6673, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW10L, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] =  build_real_truncate (type, dconst_third ());
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1268;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1268:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  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", 6894, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POWL, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  build_real_truncate (type, dconst_sixth ());
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1269:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6898, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWL, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] =  build_real_truncate (type, dconst_ninth ());
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1270:;
			    }
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      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", 6906, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWL, type, 2);
				res_op->ops[0] = captures[0];
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[1];
				  _o1[1] =  build_real_truncate (type, dconst_third ());
				  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1271;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1271:;
			    }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TANF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ATANF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_137 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_ATANF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TAN (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ATAN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_137 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_ATAN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TANL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ATANL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_137 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_ATANL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_TAN (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_ATAN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_137 (res_op, seq, valueize, type, captures, CFN_TAN, CFN_ATAN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SINF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ATANF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6693 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_273 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_ATANF, CFN_BUILT_IN_SQRTF, CFN_BUILT_IN_COPYSIGNF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SIN (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ATAN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6693 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_273 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_ATAN, CFN_BUILT_IN_SQRT, CFN_BUILT_IN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SINL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ATANL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6693 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_273 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_ATANL, CFN_BUILT_IN_SQRTL, CFN_BUILT_IN_COPYSIGNL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_SIN (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_ATAN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6693 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_273 (res_op, seq, valueize, type, captures, CFN_SIN, CFN_ATAN, CFN_SQRT, CFN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SINHF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ATANHF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6725 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_4 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_ATANHF, CFN_BUILT_IN_SQRTF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SINH (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ATANH:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6725 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_4 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINH, CFN_BUILT_IN_ATANH, CFN_BUILT_IN_SQRT))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SINHL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ATANHL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6725 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_4 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_ATANHL, CFN_BUILT_IN_SQRTL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_SINH (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_ATANH:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6725 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
		      if (gimple_simplify_4 (res_op, seq, valueize, type, captures, CFN_SINH, CFN_ATANH, CFN_SQRT))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNCF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_TRUNCF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNC (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_399 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNC, CFN_BUILT_IN_TRUNCF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_TRUNC:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNC))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNC))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNCL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 6965 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_200 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCL, CFN_BUILT_IN_TRUNC))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_399 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCL, CFN_BUILT_IN_TRUNCF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_TRUNCL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNCF16 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_TRUNCF16:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF16))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNCF32 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_TRUNCF32:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF32))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNCF64 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_TRUNCF64:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF64))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNCF128 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_TRUNCF128:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF128))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNCF32X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_TRUNCF32X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF32X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNCF64X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_TRUNCF64X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF64X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_TRUNCF128X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_TRUNCF128X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF128X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_TRUNC (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_TRUNC:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_TRUNC))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_TRUNC))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOORF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_FLOORF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_463 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF, CFN_BUILT_IN_TRUNCF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOOR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_399 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_FLOORF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_FLOOR:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOOR))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOOR))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_463 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOOR, CFN_BUILT_IN_TRUNC))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOORL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 6965 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_200 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOOR))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_399 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_FLOORF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_FLOORL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_463 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORL, CFN_BUILT_IN_TRUNCL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOORF16 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_FLOORF16:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF16))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_463 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF16, CFN_BUILT_IN_TRUNCF16))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOORF32 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_FLOORF32:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_463 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32, CFN_BUILT_IN_TRUNCF32))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOORF64 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_FLOORF64:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF64))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_463 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF64, CFN_BUILT_IN_TRUNCF64))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOORF128 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_FLOORF128:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF128))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_463 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF128, CFN_BUILT_IN_TRUNCF128))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOORF32X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_FLOORF32X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32X))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_463 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32X, CFN_BUILT_IN_TRUNCF32X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOORF64X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_FLOORF64X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF64X))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_463 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF64X, CFN_BUILT_IN_TRUNCF64X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FLOORF128X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_FLOORF128X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF128X))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_463 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF128X, CFN_BUILT_IN_TRUNCF128X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_FLOOR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_FLOOR:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_FLOOR))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_FLOOR))
        return true;
    }
  }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 6941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_463 (res_op, seq, valueize, type, captures, CFN_FLOOR, CFN_TRUNC))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEILF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CEILF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEIL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_399 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEIL, CFN_BUILT_IN_CEILF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CEIL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEIL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEIL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEILL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 6965 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_200 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_CEIL))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_399 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILL, CFN_BUILT_IN_CEILF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CEILL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEILF16 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CEILF16:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF16))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEILF32 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CEILF32:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF32))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEILF64 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CEILF64:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF64))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEILF128 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CEILF128:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF128))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEILF32X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CEILF32X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF32X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEILF64X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CEILF64X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF64X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEILF128X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CEILF128X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF128X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_CEIL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_CEIL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_CEIL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_CEIL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUNDF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ROUNDF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUND (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_399 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUND, CFN_BUILT_IN_ROUNDF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ROUND:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUND))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUND))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUNDL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 6965 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_200 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDL, CFN_BUILT_IN_ROUND))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_399 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDL, CFN_BUILT_IN_ROUNDF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ROUNDL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUNDF16 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ROUNDF16:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF16))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUNDF32 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ROUNDF32:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF32))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUNDF64 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ROUNDF64:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF64))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUNDF128 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ROUNDF128:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF128))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUNDF32X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ROUNDF32X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF32X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUNDF64X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ROUNDF64X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF64X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ROUNDF128X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_ROUNDF128X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF128X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_ROUND (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_ROUND:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_ROUND))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_ROUND))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINTF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_NEARBYINTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_399 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINT, CFN_BUILT_IN_NEARBYINTF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_NEARBYINT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINT))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINT))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINTL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 6965 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_200 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL, CFN_BUILT_IN_NEARBYINT))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_399 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL, CFN_BUILT_IN_NEARBYINTF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_NEARBYINTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINTF16 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_NEARBYINTF16:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF16))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINTF32 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_NEARBYINTF32:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF32))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINTF64 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_NEARBYINTF64:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF64))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINTF128 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_NEARBYINTF128:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF128))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINTF32X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_NEARBYINTF32X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF32X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINTF64X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_NEARBYINTF64X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF64X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_NEARBYINTF128X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_NEARBYINTF128X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF128X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_NEARBYINT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_NEARBYINT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_NEARBYINT))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_NEARBYINT))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINTF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_RINTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_399 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINT, CFN_BUILT_IN_RINTF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_RINT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINT))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINT))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINTL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 6965 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_200 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTL, CFN_BUILT_IN_RINT))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 6987 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_399 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTL, CFN_BUILT_IN_RINTF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_RINTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINTF16 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_RINTF16:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF16))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINTF32 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_RINTF32:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF32))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINTF64 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_RINTF64:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF64))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINTF128 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_RINTF128:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF128))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINTF32X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_RINTF32X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF32X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINTF64X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_RINTF64X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF64X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_RINTF128X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_RINTF128X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF128X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_RINT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_RINT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6753 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		      if (gimple_simplify_63 (res_op, seq, valueize, type, captures, CFN_RINT))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 6758 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_162 (res_op, seq, valueize, type, captures, CFN_RINT))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEXPF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (gimple_compositional_complex (_p0, valueize))
    {
      {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
	  {
/* #line 6936 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	    if (targetm.libc_has_function (function_c99_math_complex, TREE_TYPE (captures[0]))
)
	      {
		gimple_seq *lseq = seq;
		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", 6937, __FILE__, __LINE__);
		{
		  res_op->set_op (COMPLEX_EXPR, type, 2);
		  {
		    tree _o1[2], _r1;
		    {
		      tree _o2[1], _r2;
		      {
			tree _o3[1], _r3;
			_o3[0] = captures[0];
			gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o3[0])), _o3[0]);
			tem_op.resimplify (lseq, valueize);
			_r3 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r3) goto next_after_fail1272;
			_o2[0] = _r3;
		      }
		      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXPF, TREE_TYPE (_o2[0]), _o2[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r2) goto next_after_fail1272;
		      captures[1] = _r2;
		    }
		    _o1[0] = captures[1];
		    {
		      tree _o2[1], _r2;
		      {
			tree _o3[1], _r3;
			{
			  tree _o4[1], _r4;
			  _o4[0] = captures[0];
			  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o4[0])), _o4[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r4 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r4) goto next_after_fail1272;
			  _o3[0] = _r4;
			}
			gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_CEXPIF, type, _o3[0]);
			tem_op.resimplify (lseq, valueize);
			_r3 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r3) goto next_after_fail1272;
			captures[2] = _r3;
		      }
		      _o2[0] = captures[2];
		      gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r2) goto next_after_fail1272;
		      _o1[1] = _r2;
		    }
		    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r1) goto next_after_fail1272;
		    res_op->ops[0] = _r1;
		  }
		  {
		    tree _o1[2], _r1;
		    _o1[0] = captures[1];
		    {
		      tree _o2[1], _r2;
		      _o2[0] = captures[2];
		      gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r2) goto next_after_fail1272;
		      _o1[1] = _r2;
		    }
		    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r1) goto next_after_fail1272;
		    res_op->ops[1] = _r1;
		  }
		  res_op->resimplify (lseq, valueize);
		  return true;
		}
next_after_fail1272:;
	      }
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEXP (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (gimple_compositional_complex (_p0, valueize))
    {
      {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
	  {
/* #line 6936 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	    if (targetm.libc_has_function (function_c99_math_complex, TREE_TYPE (captures[0]))
)
	      {
		gimple_seq *lseq = seq;
		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", 6937, __FILE__, __LINE__);
		{
		  res_op->set_op (COMPLEX_EXPR, type, 2);
		  {
		    tree _o1[2], _r1;
		    {
		      tree _o2[1], _r2;
		      {
			tree _o3[1], _r3;
			_o3[0] = captures[0];
			gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o3[0])), _o3[0]);
			tem_op.resimplify (lseq, valueize);
			_r3 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r3) goto next_after_fail1273;
			_o2[0] = _r3;
		      }
		      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXP, TREE_TYPE (_o2[0]), _o2[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r2) goto next_after_fail1273;
		      captures[1] = _r2;
		    }
		    _o1[0] = captures[1];
		    {
		      tree _o2[1], _r2;
		      {
			tree _o3[1], _r3;
			{
			  tree _o4[1], _r4;
			  _o4[0] = captures[0];
			  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o4[0])), _o4[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r4 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r4) goto next_after_fail1273;
			  _o3[0] = _r4;
			}
			gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_CEXPI, type, _o3[0]);
			tem_op.resimplify (lseq, valueize);
			_r3 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r3) goto next_after_fail1273;
			captures[2] = _r3;
		      }
		      _o2[0] = captures[2];
		      gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r2) goto next_after_fail1273;
		      _o1[1] = _r2;
		    }
		    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r1) goto next_after_fail1273;
		    res_op->ops[0] = _r1;
		  }
		  {
		    tree _o1[2], _r1;
		    _o1[0] = captures[1];
		    {
		      tree _o2[1], _r2;
		      _o2[0] = captures[2];
		      gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r2) goto next_after_fail1273;
		      _o1[1] = _r2;
		    }
		    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r1) goto next_after_fail1273;
		    res_op->ops[1] = _r1;
		  }
		  res_op->resimplify (lseq, valueize);
		  return true;
		}
next_after_fail1273:;
	      }
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CEXPL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (gimple_compositional_complex (_p0, valueize))
    {
      {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
	  {
/* #line 6936 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	    if (targetm.libc_has_function (function_c99_math_complex, TREE_TYPE (captures[0]))
)
	      {
		gimple_seq *lseq = seq;
		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", 6937, __FILE__, __LINE__);
		{
		  res_op->set_op (COMPLEX_EXPR, type, 2);
		  {
		    tree _o1[2], _r1;
		    {
		      tree _o2[1], _r2;
		      {
			tree _o3[1], _r3;
			_o3[0] = captures[0];
			gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o3[0])), _o3[0]);
			tem_op.resimplify (lseq, valueize);
			_r3 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r3) goto next_after_fail1274;
			_o2[0] = _r3;
		      }
		      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXPL, TREE_TYPE (_o2[0]), _o2[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r2) goto next_after_fail1274;
		      captures[1] = _r2;
		    }
		    _o1[0] = captures[1];
		    {
		      tree _o2[1], _r2;
		      {
			tree _o3[1], _r3;
			{
			  tree _o4[1], _r4;
			  _o4[0] = captures[0];
			  gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o4[0])), _o4[0]);
			  tem_op.resimplify (lseq, valueize);
			  _r4 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r4) goto next_after_fail1274;
			  _o3[0] = _r4;
			}
			gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_CEXPIL, type, _o3[0]);
			tem_op.resimplify (lseq, valueize);
			_r3 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r3) goto next_after_fail1274;
			captures[2] = _r3;
		      }
		      _o2[0] = captures[2];
		      gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r2) goto next_after_fail1274;
		      _o1[1] = _r2;
		    }
		    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r1) goto next_after_fail1274;
		    res_op->ops[0] = _r1;
		  }
		  {
		    tree _o1[2], _r1;
		    _o1[0] = captures[1];
		    {
		      tree _o2[1], _r2;
		      _o2[0] = captures[2];
		      gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
		      tem_op.resimplify (lseq, valueize);
		      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r2) goto next_after_fail1274;
		      _o1[1] = _r2;
		    }
		    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
		    tem_op.resimplify (lseq, valueize);
		    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r1) goto next_after_fail1274;
		    res_op->ops[1] = _r1;
		  }
		  res_op->resimplify (lseq, valueize);
		  return true;
		}
next_after_fail1274:;
	      }
	  }
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IFLOORL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_488 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORL, CFN_BUILT_IN_IFLOOR))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORL, CFN_BUILT_IN_IFLOORF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_67 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORL))
        return true;
    }
  }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORL))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORL, CFN_BUILT_IN_LFLOORL, CFN_BUILT_IN_LLFLOORL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LFLOORL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_488 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOORL, CFN_BUILT_IN_LFLOOR))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOORL, CFN_BUILT_IN_LFLOORF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_67 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOORL))
        return true;
    }
  }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOORL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLFLOORL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_488 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOORL, CFN_BUILT_IN_LLFLOOR))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOORL, CFN_BUILT_IN_LLFLOORF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_67 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOORL))
        return true;
    }
  }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOORL))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORL, CFN_BUILT_IN_LFLOORL, CFN_BUILT_IN_LLFLOORL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ICEILL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_488 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEILL, CFN_BUILT_IN_ICEIL))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEILL, CFN_BUILT_IN_ICEILF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEILL))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEILL, CFN_BUILT_IN_LCEILL, CFN_BUILT_IN_LLCEILL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LCEILL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_488 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LCEILL, CFN_BUILT_IN_LCEIL))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LCEILL, CFN_BUILT_IN_LCEILF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LCEILL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLCEILL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_488 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLCEILL, CFN_BUILT_IN_LLCEIL))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLCEILL, CFN_BUILT_IN_LLCEILF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLCEILL))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEILL, CFN_BUILT_IN_LCEILL, CFN_BUILT_IN_LLCEILL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IROUNDL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_488 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUNDL, CFN_BUILT_IN_IROUND))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUNDL, CFN_BUILT_IN_IROUNDF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUNDL))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUNDL, CFN_BUILT_IN_LROUNDL, CFN_BUILT_IN_LLROUNDL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LROUNDL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_488 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LROUNDL, CFN_BUILT_IN_LROUND))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LROUNDL, CFN_BUILT_IN_LROUNDF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LROUNDL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLROUNDL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_488 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLROUNDL, CFN_BUILT_IN_LLROUND))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLROUNDL, CFN_BUILT_IN_LLROUNDF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLROUNDL))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUNDL, CFN_BUILT_IN_LROUNDL, CFN_BUILT_IN_LLROUNDL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IRINTL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_488 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINTL, CFN_BUILT_IN_IRINT))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINTL, CFN_BUILT_IN_IRINTF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_202 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINTL))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINTL, CFN_BUILT_IN_LRINTL, CFN_BUILT_IN_LLRINTL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LRINTL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_488 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LRINTL, CFN_BUILT_IN_LRINT))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LRINTL, CFN_BUILT_IN_LRINTF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_202 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LRINTL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLRINTL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_double_value_p (_q20, valueize))
		    {
		      {
/* #line 7068 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_488 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLRINTL, CFN_BUILT_IN_LLRINT))
			  return true;
		      }
		    }
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLRINTL, CFN_BUILT_IN_LLRINTF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_202 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLRINTL))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINTL, CFN_BUILT_IN_LRINTL, CFN_BUILT_IN_LLRINTL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IFLOOR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOOR, CFN_BUILT_IN_IFLOORF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_67 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOOR))
        return true;
    }
  }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOOR))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOOR, CFN_BUILT_IN_LFLOOR, CFN_BUILT_IN_LLFLOOR))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LFLOOR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOOR, CFN_BUILT_IN_LFLOORF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_67 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOOR))
        return true;
    }
  }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOOR))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLFLOOR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOOR, CFN_BUILT_IN_LLFLOORF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p0))
  {
    {
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_67 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOOR))
        return true;
    }
  }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOOR))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOOR, CFN_BUILT_IN_LFLOOR, CFN_BUILT_IN_LLFLOOR))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ICEIL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEIL, CFN_BUILT_IN_ICEILF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEIL))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEIL, CFN_BUILT_IN_LCEIL, CFN_BUILT_IN_LLCEIL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LCEIL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LCEIL, CFN_BUILT_IN_LCEILF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LCEIL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLCEIL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLCEIL, CFN_BUILT_IN_LLCEILF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLCEIL))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEIL, CFN_BUILT_IN_LCEIL, CFN_BUILT_IN_LLCEIL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IROUND (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUND, CFN_BUILT_IN_IROUNDF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUND))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUND, CFN_BUILT_IN_LROUND, CFN_BUILT_IN_LLROUND))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LROUND (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LROUND, CFN_BUILT_IN_LROUNDF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LROUND))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLROUND (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLROUND, CFN_BUILT_IN_LLROUNDF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLROUND))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUND, CFN_BUILT_IN_LROUND, CFN_BUILT_IN_LLROUND))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IRINT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINT, CFN_BUILT_IN_IRINTF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_202 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINT))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINT, CFN_BUILT_IN_LRINT, CFN_BUILT_IN_LLRINT))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LRINT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LRINT, CFN_BUILT_IN_LRINTF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_202 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LRINT))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLRINT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_float_value_p (_q20, valueize))
		    {
		      {
/* #line 7078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_268 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLRINT, CFN_BUILT_IN_LLRINTF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_valued_real_p (_p0))
  {
    {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_202 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLRINT))
        return true;
    }
  }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINT, CFN_BUILT_IN_LRINT, CFN_BUILT_IN_LLRINT))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IFLOORF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonnegative_p (_p0))
    {
      {
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_67 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORF))
	  return true;
      }
    }
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORF))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORF, CFN_BUILT_IN_LFLOORF, CFN_BUILT_IN_LLFLOORF))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_IFLOOR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonnegative_p (_p0))
    {
      {
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_67 (res_op, seq, valueize, type, captures, CFN_IFLOOR))
	  return true;
      }
    }
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_IFLOOR))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_IFLOOR, CFN_LFLOOR, CFN_LLFLOOR))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LFLOORF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonnegative_p (_p0))
    {
      {
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_67 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOORF))
	  return true;
      }
    }
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOORF))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_LFLOOR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonnegative_p (_p0))
    {
      {
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_67 (res_op, seq, valueize, type, captures, CFN_LFLOOR))
	  return true;
      }
    }
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_LFLOOR))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLFLOORF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonnegative_p (_p0))
    {
      {
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_67 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOORF))
	  return true;
      }
    }
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLFLOORF))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IFLOORF, CFN_BUILT_IN_LFLOORF, CFN_BUILT_IN_LLFLOORF))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_LLFLOOR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonnegative_p (_p0))
    {
      {
/* #line 7083 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_67 (res_op, seq, valueize, type, captures, CFN_LLFLOOR))
	  return true;
      }
    }
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_LLFLOOR))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_IFLOOR, CFN_LFLOOR, CFN_LLFLOOR))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_ICEILF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEILF))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEILF, CFN_BUILT_IN_LCEILF, CFN_BUILT_IN_LLCEILF))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_ICEIL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_ICEIL))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_ICEIL, CFN_LCEIL, CFN_LLCEIL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LCEILF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LCEILF))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_LCEIL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_LCEIL))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLCEILF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLCEILF))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEILF, CFN_BUILT_IN_LCEILF, CFN_BUILT_IN_LLCEILF))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_LLCEIL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_LLCEIL))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_ICEIL, CFN_LCEIL, CFN_LLCEIL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IROUNDF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUNDF))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUNDF, CFN_BUILT_IN_LROUNDF, CFN_BUILT_IN_LLROUNDF))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_IROUND (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_IROUND))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_IROUND, CFN_LROUND, CFN_LLROUND))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LROUNDF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LROUNDF))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_LROUND (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_LROUND))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLROUNDF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLROUNDF))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUNDF, CFN_BUILT_IN_LROUNDF, CFN_BUILT_IN_LLROUNDF))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_LLROUND (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_1 (res_op, seq, valueize, type, captures, CFN_LLROUND))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_IROUND, CFN_LROUND, CFN_LLROUND))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_IRINTF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_202 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINTF))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINTF, CFN_BUILT_IN_LRINTF, CFN_BUILT_IN_LLRINTF))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_IRINT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_202 (res_op, seq, valueize, type, captures, CFN_IRINT))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_85 (res_op, seq, valueize, type, captures, CFN_IRINT, CFN_LRINT, CFN_LLRINT))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LRINTF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_202 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LRINTF))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_LRINT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_202 (res_op, seq, valueize, type, captures, CFN_LRINT))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LLRINTF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_202 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLRINTF))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IRINTF, CFN_BUILT_IN_LRINTF, CFN_BUILT_IN_LLRINTF))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_LLRINT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (integer_valued_real_p (_p0))
    {
      {
/* #line 7090 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_202 (res_op, seq, valueize, type, captures, CFN_LLRINT))
	  return true;
      }
    }
  {
/* #line 7105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_394 (res_op, seq, valueize, type, captures, CFN_IRINT, CFN_LRINT, CFN_LLRINT))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CPROJF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  {
/* #line 7127 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 7127 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    if (!HONOR_INFINITIES (type)
)
      {
	gimple_seq *lseq = seq;
	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", 7128, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1275:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COMPLEX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			if (tree_expr_nonnegative_p (_q21))
			  {
			    {
/* #line 7134 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 7134 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (real_isinf (TREE_REAL_CST_PTR (captures[0]))
)
				{
				  gimple_seq *lseq = seq;
				  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", 7135, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  build_complex_inf (type, false);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail1276:;
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			{
/* #line 7140 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 7140 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (real_isinf (TREE_REAL_CST_PTR (captures[1]))
)
			    {
			      gimple_seq *lseq = seq;
			      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", 7141, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  build_complex_inf (type, TREE_REAL_CST_PTR (captures[1])->sign);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail1277:;
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CPROJ (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  {
/* #line 7127 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 7127 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    if (!HONOR_INFINITIES (type)
)
      {
	gimple_seq *lseq = seq;
	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", 7128, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1278:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COMPLEX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			if (tree_expr_nonnegative_p (_q21))
			  {
			    {
/* #line 7134 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 7134 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (real_isinf (TREE_REAL_CST_PTR (captures[0]))
)
				{
				  gimple_seq *lseq = seq;
				  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", 7135, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  build_complex_inf (type, false);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail1279:;
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			{
/* #line 7140 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 7140 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (real_isinf (TREE_REAL_CST_PTR (captures[1]))
)
			    {
			      gimple_seq *lseq = seq;
			      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", 7141, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  build_complex_inf (type, TREE_REAL_CST_PTR (captures[1])->sign);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail1280:;
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_CPROJL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  {
/* #line 7127 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 7127 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    if (!HONOR_INFINITIES (type)
)
      {
	gimple_seq *lseq = seq;
	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", 7128, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1281:;
      }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COMPLEX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			if (tree_expr_nonnegative_p (_q21))
			  {
			    {
/* #line 7134 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 7134 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (real_isinf (TREE_REAL_CST_PTR (captures[0]))
)
				{
				  gimple_seq *lseq = seq;
				  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", 7135, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  build_complex_inf (type, false);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail1282:;
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			{
/* #line 7140 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 7140 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (real_isinf (TREE_REAL_CST_PTR (captures[1]))
)
			    {
			      gimple_seq *lseq = seq;
			      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", 7141, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  build_complex_inf (type, TREE_REAL_CST_PTR (captures[1])->sign);
				res_op->set_value (tem);
				return true;
			      }
next_after_fail1283:;
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SIGNBITF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonnegative_p (_p0))
    {
      {
/* #line 7350 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_491 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBITF))
	  return true;
      }
    }
  {
/* #line 7355 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_91 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBITF))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SIGNBIT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonnegative_p (_p0))
    {
      {
/* #line 7350 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_491 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBIT))
	  return true;
      }
    }
  {
/* #line 7355 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_91 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBIT))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SIGNBITL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonnegative_p (_p0))
    {
      {
/* #line 7350 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_491 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBITL))
	  return true;
      }
    }
  {
/* #line 7355 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_91 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBITL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_SIGNBIT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonnegative_p (_p0))
    {
      {
/* #line 7350 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_491 (res_op, seq, valueize, type, captures, CFN_SIGNBIT))
	  return true;
      }
    }
  {
/* #line 7355 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_91 (res_op, seq, valueize, type, captures, CFN_SIGNBIT))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_PARITY (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 7751 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_342 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITY))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 7763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_294 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITY))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_PARITYL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 7751 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_342 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITYL))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 7763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_294 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITYL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_PARITYLL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 7751 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_342 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITYLL))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 7763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_294 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITYLL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_PARITYIMAX (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 7751 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_342 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITYIMAX))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 7763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_294 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITYIMAX))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_PARITY (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 7751 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		    if (gimple_simplify_342 (res_op, seq, valueize, type, captures, CFN_PARITY))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 7763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_294 (res_op, seq, valueize, type, captures, CFN_PARITY))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POPCOUNT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  {
/* #line 7763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_294 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POPCOUNT))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POPCOUNTL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  {
/* #line 7763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_294 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POPCOUNTL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POPCOUNTLL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  {
/* #line 7763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_294 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POPCOUNTLL))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POPCOUNTIMAX (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  {
/* #line 7763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_294 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POPCOUNTIMAX))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_POPCOUNT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  {
/* #line 7763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
    if (gimple_simplify_294 (res_op, seq, valueize, type, captures, CFN_POPCOUNT))
      return true;
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FFS (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonzero_p (_p0))
    {
      {
/* #line 7864 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_120 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FFS, CFN_BUILT_IN_CTZ))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FFSL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonzero_p (_p0))
    {
      {
/* #line 7864 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_120 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FFSL, CFN_BUILT_IN_CTZL))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FFSLL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonzero_p (_p0))
    {
      {
/* #line 7864 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_120 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FFSLL, CFN_BUILT_IN_CTZLL))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FFSIMAX (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonzero_p (_p0))
    {
      {
/* #line 7864 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_120 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FFSIMAX, CFN_BUILT_IN_CTZIMAX))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_FFS (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  if (tree_expr_nonzero_p (_p0))
    {
      {
/* #line 7864 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_120 (res_op, seq, valueize, type, captures, CFN_FFS, CFN_CTZ))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_REDUC_PLUS (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q20) == SSA_NAME
		       || is_gimple_min_invariant (_q20)))
		    {
		      _q20 = do_valueize (valueize, _q20);
		      switch (TREE_CODE (_q20))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q20))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree _q30 = gimple_assign_rhs1 (_a2);
				      _q30 = do_valueize (valueize, _q30);
				      tree _q31 = gimple_assign_rhs2 (_a2);
				      _q31 = do_valueize (valueize, _q31);
				      if (tree_swap_operands_p (_q30, _q31))
				        std::swap (_q30, _q31);
				      switch (TREE_CODE (_q31))
				        {
					case VECTOR_CST:
					  {
					    {
/* #line 8105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					      if (gimple_simplify_498 (res_op, seq, valueize, type, captures, CFN_REDUC_PLUS))
					        return true;
					    }
					    break;
					  }
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case VECTOR_CST:
		      {
			{
/* #line 8105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  if (gimple_simplify_498 (res_op, seq, valueize, type, captures, CFN_REDUC_PLUS))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case CONSTRUCTOR:
	        {
		  {
/* #line 8120 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		    if (gimple_simplify_480 (res_op, seq, valueize, type, captures, CFN_REDUC_PLUS))
		      return true;
		  }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case VECTOR_CST:
		      {
			{
/* #line 8133 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  gimple_seq *lseq = seq;
			  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", 8133, __FILE__, __LINE__);
			  {
			    res_op->set_op (PLUS_EXPR, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[0];
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_PLUS, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1284;
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_PLUS, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1284;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1284:;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_REDUC_IOR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q20) == SSA_NAME
		       || is_gimple_min_invariant (_q20)))
		    {
		      _q20 = do_valueize (valueize, _q20);
		      switch (TREE_CODE (_q20))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q20))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree _q30 = gimple_assign_rhs1 (_a2);
				      _q30 = do_valueize (valueize, _q30);
				      tree _q31 = gimple_assign_rhs2 (_a2);
				      _q31 = do_valueize (valueize, _q31);
				      if (tree_swap_operands_p (_q30, _q31))
				        std::swap (_q30, _q31);
				      switch (TREE_CODE (_q31))
				        {
					case VECTOR_CST:
					  {
					    {
/* #line 8105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					      if (gimple_simplify_498 (res_op, seq, valueize, type, captures, CFN_REDUC_IOR))
					        return true;
					    }
					    break;
					  }
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case VECTOR_CST:
		      {
			{
/* #line 8105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  if (gimple_simplify_498 (res_op, seq, valueize, type, captures, CFN_REDUC_IOR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case CONSTRUCTOR:
	        {
		  {
/* #line 8120 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		    if (gimple_simplify_480 (res_op, seq, valueize, type, captures, CFN_REDUC_IOR))
		      return true;
		  }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case VECTOR_CST:
		      {
			{
/* #line 8133 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  gimple_seq *lseq = seq;
			  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", 8133, __FILE__, __LINE__);
			  {
			    res_op->set_op (BIT_IOR_EXPR, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[0];
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_IOR, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1285;
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_IOR, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1285;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1285:;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_REDUC_XOR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q20) == SSA_NAME
		       || is_gimple_min_invariant (_q20)))
		    {
		      _q20 = do_valueize (valueize, _q20);
		      switch (TREE_CODE (_q20))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q20))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree _q30 = gimple_assign_rhs1 (_a2);
				      _q30 = do_valueize (valueize, _q30);
				      tree _q31 = gimple_assign_rhs2 (_a2);
				      _q31 = do_valueize (valueize, _q31);
				      if (tree_swap_operands_p (_q30, _q31))
				        std::swap (_q30, _q31);
				      switch (TREE_CODE (_q31))
				        {
					case VECTOR_CST:
					  {
					    {
/* #line 8105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					      if (gimple_simplify_498 (res_op, seq, valueize, type, captures, CFN_REDUC_XOR))
					        return true;
					    }
					    break;
					  }
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case VECTOR_CST:
		      {
			{
/* #line 8105 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  if (gimple_simplify_498 (res_op, seq, valueize, type, captures, CFN_REDUC_XOR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case CONSTRUCTOR:
	        {
		  {
/* #line 8120 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		    if (gimple_simplify_480 (res_op, seq, valueize, type, captures, CFN_REDUC_XOR))
		      return true;
		  }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case VECTOR_CST:
		      {
			{
/* #line 8133 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  gimple_seq *lseq = seq;
			  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", 8133, __FILE__, __LINE__);
			  {
			    res_op->set_op (BIT_XOR_EXPR, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[0];
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_XOR, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1286;
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_XOR, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1286;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1286:;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_REDUC_MAX (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MAX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case VECTOR_CST:
		      {
			{
/* #line 8133 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  gimple_seq *lseq = seq;
			  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", 8133, __FILE__, __LINE__);
			  {
			    res_op->set_op (MAX_EXPR, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[0];
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_MAX, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1287;
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_MAX, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1287;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1287:;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_REDUC_MIN (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MIN_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case VECTOR_CST:
		      {
			{
/* #line 8133 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  gimple_seq *lseq = seq;
			  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", 8133, __FILE__, __LINE__);
			  {
			    res_op->set_op (MIN_EXPR, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[0];
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_MIN, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1288;
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_MIN, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1288;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1288:;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_REDUC_FMAX (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_FMAX:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q21))
		      {
		      case VECTOR_CST:
		        {
			  {
/* #line 8133 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			    gimple_seq *lseq = seq;
			    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", 8133, __FILE__, __LINE__);
			    {
			      res_op->set_op (CFN_FMAX, type, 2);
			      {
				tree _o1[1], _r1;
				_o1[0] = captures[0];
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_FMAX, type, _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1289;
				res_op->ops[0] = _r1;
			      }
			      {
				tree _o1[1], _r1;
				_o1[0] = captures[1];
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_FMAX, type, _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1289;
				res_op->ops[1] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1289:;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_REDUC_FMIN (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_FMIN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q21))
		      {
		      case VECTOR_CST:
		        {
			  {
/* #line 8133 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			    gimple_seq *lseq = seq;
			    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", 8133, __FILE__, __LINE__);
			    {
			      res_op->set_op (CFN_FMIN, type, 2);
			      {
				tree _o1[1], _r1;
				_o1[0] = captures[0];
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_FMIN, type, _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1290;
				res_op->ops[0] = _r1;
			      }
			      {
				tree _o1[1], _r1;
				_o1[0] = captures[1];
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_FMIN, type, _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1290;
				res_op->ops[1] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1290:;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_REDUC_AND (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case VECTOR_CST:
		      {
			{
/* #line 8133 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			  gimple_seq *lseq = seq;
			  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", 8133, __FILE__, __LINE__);
			  {
			    res_op->set_op (BIT_AND_EXPR, type, 2);
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[0];
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_AND, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1291;
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[1], _r1;
			      _o1[0] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_AND, type, _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1291;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1291:;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper code, const tree type, tree _p0)
{
  switch (code.get_rep())
    {
    case ABS_EXPR:
      return gimple_simplify_ABS_EXPR (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_COSF:
      return gimple_simplify_CFN_BUILT_IN_COSF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_COS:
      return gimple_simplify_CFN_BUILT_IN_COS (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_COSL:
      return gimple_simplify_CFN_BUILT_IN_COSL (res_op, seq, valueize, code, type, _p0);
    case -CFN_COS:
      return gimple_simplify_CFN_COS (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_COSHF:
      return gimple_simplify_CFN_BUILT_IN_COSHF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_COSH:
      return gimple_simplify_CFN_BUILT_IN_COSH (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_COSHL:
      return gimple_simplify_CFN_BUILT_IN_COSHL (res_op, seq, valueize, code, type, _p0);
    case -CFN_COSH:
      return gimple_simplify_CFN_COSH (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CCOSF:
      return gimple_simplify_CFN_BUILT_IN_CCOSF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CCOS:
      return gimple_simplify_CFN_BUILT_IN_CCOS (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CCOSL:
      return gimple_simplify_CFN_BUILT_IN_CCOSL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CCOSHF:
      return gimple_simplify_CFN_BUILT_IN_CCOSHF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CCOSH:
      return gimple_simplify_CFN_BUILT_IN_CCOSH (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CCOSHL:
      return gimple_simplify_CFN_BUILT_IN_CCOSHL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CABSF:
      return gimple_simplify_CFN_BUILT_IN_CABSF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CABS:
      return gimple_simplify_CFN_BUILT_IN_CABS (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CABSL:
      return gimple_simplify_CFN_BUILT_IN_CABSL (res_op, seq, valueize, code, type, _p0);
    case BIT_NOT_EXPR:
      return gimple_simplify_BIT_NOT_EXPR (res_op, seq, valueize, code, type, _p0);
    case ABSU_EXPR:
      return gimple_simplify_ABSU_EXPR (res_op, seq, valueize, code, type, _p0);
    case NEGATE_EXPR:
      return gimple_simplify_NEGATE_EXPR (res_op, seq, valueize, code, type, _p0);
    CASE_CONVERT:
      return gimple_simplify_CONVERT_EXPR (res_op, seq, valueize, code, type, _p0);
    case VIEW_CONVERT_EXPR:
      return gimple_simplify_VIEW_CONVERT_EXPR (res_op, seq, valueize, code, type, _p0);
    case FLOAT_EXPR:
      return gimple_simplify_FLOAT_EXPR (res_op, seq, valueize, code, type, _p0);
    case FIX_TRUNC_EXPR:
      return gimple_simplify_FIX_TRUNC_EXPR (res_op, seq, valueize, code, type, _p0);
    case PAREN_EXPR:
      return gimple_simplify_PAREN_EXPR (res_op, seq, valueize, code, type, _p0);
    case REALPART_EXPR:
      return gimple_simplify_REALPART_EXPR (res_op, seq, valueize, code, type, _p0);
    case IMAGPART_EXPR:
      return gimple_simplify_IMAGPART_EXPR (res_op, seq, valueize, code, type, _p0);
    case CONJ_EXPR:
      return gimple_simplify_CONJ_EXPR (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_BSWAP16:
      return gimple_simplify_CFN_BUILT_IN_BSWAP16 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_BSWAP32:
      return gimple_simplify_CFN_BUILT_IN_BSWAP32 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_BSWAP64:
      return gimple_simplify_CFN_BUILT_IN_BSWAP64 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_BSWAP128:
      return gimple_simplify_CFN_BUILT_IN_BSWAP128 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LOGF:
      return gimple_simplify_CFN_BUILT_IN_LOGF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LOG:
      return gimple_simplify_CFN_BUILT_IN_LOG (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LOGL:
      return gimple_simplify_CFN_BUILT_IN_LOGL (res_op, seq, valueize, code, type, _p0);
    case -CFN_LOG:
      return gimple_simplify_CFN_LOG (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LOG2F:
      return gimple_simplify_CFN_BUILT_IN_LOG2F (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LOG2:
      return gimple_simplify_CFN_BUILT_IN_LOG2 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LOG2L:
      return gimple_simplify_CFN_BUILT_IN_LOG2L (res_op, seq, valueize, code, type, _p0);
    case -CFN_LOG2:
      return gimple_simplify_CFN_LOG2 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LOG10F:
      return gimple_simplify_CFN_BUILT_IN_LOG10F (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LOG10:
      return gimple_simplify_CFN_BUILT_IN_LOG10 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LOG10L:
      return gimple_simplify_CFN_BUILT_IN_LOG10L (res_op, seq, valueize, code, type, _p0);
    case -CFN_LOG10:
      return gimple_simplify_CFN_LOG10 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_EXPF:
      return gimple_simplify_CFN_BUILT_IN_EXPF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_EXP:
      return gimple_simplify_CFN_BUILT_IN_EXP (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_EXPL:
      return gimple_simplify_CFN_BUILT_IN_EXPL (res_op, seq, valueize, code, type, _p0);
    case -CFN_EXP:
      return gimple_simplify_CFN_EXP (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_EXP2F:
      return gimple_simplify_CFN_BUILT_IN_EXP2F (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_EXP2:
      return gimple_simplify_CFN_BUILT_IN_EXP2 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_EXP2L:
      return gimple_simplify_CFN_BUILT_IN_EXP2L (res_op, seq, valueize, code, type, _p0);
    case -CFN_EXP2:
      return gimple_simplify_CFN_EXP2 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_EXP10F:
      return gimple_simplify_CFN_BUILT_IN_EXP10F (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_EXP10:
      return gimple_simplify_CFN_BUILT_IN_EXP10 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_EXP10L:
      return gimple_simplify_CFN_BUILT_IN_EXP10L (res_op, seq, valueize, code, type, _p0);
    case -CFN_EXP10:
      return gimple_simplify_CFN_EXP10 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_POW10F:
      return gimple_simplify_CFN_BUILT_IN_POW10F (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_POW10:
      return gimple_simplify_CFN_BUILT_IN_POW10 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_POW10L:
      return gimple_simplify_CFN_BUILT_IN_POW10L (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_SQRTF:
      return gimple_simplify_CFN_BUILT_IN_SQRTF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_SQRT:
      return gimple_simplify_CFN_BUILT_IN_SQRT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_SQRTL:
      return gimple_simplify_CFN_BUILT_IN_SQRTL (res_op, seq, valueize, code, type, _p0);
    case -CFN_SQRT:
      return gimple_simplify_CFN_SQRT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CBRTF:
      return gimple_simplify_CFN_BUILT_IN_CBRTF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CBRT:
      return gimple_simplify_CFN_BUILT_IN_CBRT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CBRTL:
      return gimple_simplify_CFN_BUILT_IN_CBRTL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TANF:
      return gimple_simplify_CFN_BUILT_IN_TANF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TAN:
      return gimple_simplify_CFN_BUILT_IN_TAN (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TANL:
      return gimple_simplify_CFN_BUILT_IN_TANL (res_op, seq, valueize, code, type, _p0);
    case -CFN_TAN:
      return gimple_simplify_CFN_TAN (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_SINF:
      return gimple_simplify_CFN_BUILT_IN_SINF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_SIN:
      return gimple_simplify_CFN_BUILT_IN_SIN (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_SINL:
      return gimple_simplify_CFN_BUILT_IN_SINL (res_op, seq, valueize, code, type, _p0);
    case -CFN_SIN:
      return gimple_simplify_CFN_SIN (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_SINHF:
      return gimple_simplify_CFN_BUILT_IN_SINHF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_SINH:
      return gimple_simplify_CFN_BUILT_IN_SINH (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_SINHL:
      return gimple_simplify_CFN_BUILT_IN_SINHL (res_op, seq, valueize, code, type, _p0);
    case -CFN_SINH:
      return gimple_simplify_CFN_SINH (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TRUNCF:
      return gimple_simplify_CFN_BUILT_IN_TRUNCF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TRUNC:
      return gimple_simplify_CFN_BUILT_IN_TRUNC (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TRUNCL:
      return gimple_simplify_CFN_BUILT_IN_TRUNCL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TRUNCF16:
      return gimple_simplify_CFN_BUILT_IN_TRUNCF16 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TRUNCF32:
      return gimple_simplify_CFN_BUILT_IN_TRUNCF32 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TRUNCF64:
      return gimple_simplify_CFN_BUILT_IN_TRUNCF64 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TRUNCF128:
      return gimple_simplify_CFN_BUILT_IN_TRUNCF128 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TRUNCF32X:
      return gimple_simplify_CFN_BUILT_IN_TRUNCF32X (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TRUNCF64X:
      return gimple_simplify_CFN_BUILT_IN_TRUNCF64X (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_TRUNCF128X:
      return gimple_simplify_CFN_BUILT_IN_TRUNCF128X (res_op, seq, valueize, code, type, _p0);
    case -CFN_TRUNC:
      return gimple_simplify_CFN_TRUNC (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FLOORF:
      return gimple_simplify_CFN_BUILT_IN_FLOORF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FLOOR:
      return gimple_simplify_CFN_BUILT_IN_FLOOR (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FLOORL:
      return gimple_simplify_CFN_BUILT_IN_FLOORL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FLOORF16:
      return gimple_simplify_CFN_BUILT_IN_FLOORF16 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FLOORF32:
      return gimple_simplify_CFN_BUILT_IN_FLOORF32 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FLOORF64:
      return gimple_simplify_CFN_BUILT_IN_FLOORF64 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FLOORF128:
      return gimple_simplify_CFN_BUILT_IN_FLOORF128 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FLOORF32X:
      return gimple_simplify_CFN_BUILT_IN_FLOORF32X (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FLOORF64X:
      return gimple_simplify_CFN_BUILT_IN_FLOORF64X (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FLOORF128X:
      return gimple_simplify_CFN_BUILT_IN_FLOORF128X (res_op, seq, valueize, code, type, _p0);
    case -CFN_FLOOR:
      return gimple_simplify_CFN_FLOOR (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEILF:
      return gimple_simplify_CFN_BUILT_IN_CEILF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEIL:
      return gimple_simplify_CFN_BUILT_IN_CEIL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEILL:
      return gimple_simplify_CFN_BUILT_IN_CEILL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEILF16:
      return gimple_simplify_CFN_BUILT_IN_CEILF16 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEILF32:
      return gimple_simplify_CFN_BUILT_IN_CEILF32 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEILF64:
      return gimple_simplify_CFN_BUILT_IN_CEILF64 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEILF128:
      return gimple_simplify_CFN_BUILT_IN_CEILF128 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEILF32X:
      return gimple_simplify_CFN_BUILT_IN_CEILF32X (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEILF64X:
      return gimple_simplify_CFN_BUILT_IN_CEILF64X (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEILF128X:
      return gimple_simplify_CFN_BUILT_IN_CEILF128X (res_op, seq, valueize, code, type, _p0);
    case -CFN_CEIL:
      return gimple_simplify_CFN_CEIL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ROUNDF:
      return gimple_simplify_CFN_BUILT_IN_ROUNDF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ROUND:
      return gimple_simplify_CFN_BUILT_IN_ROUND (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ROUNDL:
      return gimple_simplify_CFN_BUILT_IN_ROUNDL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ROUNDF16:
      return gimple_simplify_CFN_BUILT_IN_ROUNDF16 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ROUNDF32:
      return gimple_simplify_CFN_BUILT_IN_ROUNDF32 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ROUNDF64:
      return gimple_simplify_CFN_BUILT_IN_ROUNDF64 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ROUNDF128:
      return gimple_simplify_CFN_BUILT_IN_ROUNDF128 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ROUNDF32X:
      return gimple_simplify_CFN_BUILT_IN_ROUNDF32X (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ROUNDF64X:
      return gimple_simplify_CFN_BUILT_IN_ROUNDF64X (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ROUNDF128X:
      return gimple_simplify_CFN_BUILT_IN_ROUNDF128X (res_op, seq, valueize, code, type, _p0);
    case -CFN_ROUND:
      return gimple_simplify_CFN_ROUND (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_NEARBYINTF:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINTF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_NEARBYINT:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_NEARBYINTL:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINTL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_NEARBYINTF16:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINTF16 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_NEARBYINTF32:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINTF32 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_NEARBYINTF64:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINTF64 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_NEARBYINTF128:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINTF128 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_NEARBYINTF32X:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINTF32X (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_NEARBYINTF64X:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINTF64X (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_NEARBYINTF128X:
      return gimple_simplify_CFN_BUILT_IN_NEARBYINTF128X (res_op, seq, valueize, code, type, _p0);
    case -CFN_NEARBYINT:
      return gimple_simplify_CFN_NEARBYINT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_RINTF:
      return gimple_simplify_CFN_BUILT_IN_RINTF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_RINT:
      return gimple_simplify_CFN_BUILT_IN_RINT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_RINTL:
      return gimple_simplify_CFN_BUILT_IN_RINTL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_RINTF16:
      return gimple_simplify_CFN_BUILT_IN_RINTF16 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_RINTF32:
      return gimple_simplify_CFN_BUILT_IN_RINTF32 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_RINTF64:
      return gimple_simplify_CFN_BUILT_IN_RINTF64 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_RINTF128:
      return gimple_simplify_CFN_BUILT_IN_RINTF128 (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_RINTF32X:
      return gimple_simplify_CFN_BUILT_IN_RINTF32X (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_RINTF64X:
      return gimple_simplify_CFN_BUILT_IN_RINTF64X (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_RINTF128X:
      return gimple_simplify_CFN_BUILT_IN_RINTF128X (res_op, seq, valueize, code, type, _p0);
    case -CFN_RINT:
      return gimple_simplify_CFN_RINT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEXPF:
      return gimple_simplify_CFN_BUILT_IN_CEXPF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEXP:
      return gimple_simplify_CFN_BUILT_IN_CEXP (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CEXPL:
      return gimple_simplify_CFN_BUILT_IN_CEXPL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_IFLOORL:
      return gimple_simplify_CFN_BUILT_IN_IFLOORL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LFLOORL:
      return gimple_simplify_CFN_BUILT_IN_LFLOORL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LLFLOORL:
      return gimple_simplify_CFN_BUILT_IN_LLFLOORL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ICEILL:
      return gimple_simplify_CFN_BUILT_IN_ICEILL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LCEILL:
      return gimple_simplify_CFN_BUILT_IN_LCEILL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LLCEILL:
      return gimple_simplify_CFN_BUILT_IN_LLCEILL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_IROUNDL:
      return gimple_simplify_CFN_BUILT_IN_IROUNDL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LROUNDL:
      return gimple_simplify_CFN_BUILT_IN_LROUNDL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LLROUNDL:
      return gimple_simplify_CFN_BUILT_IN_LLROUNDL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_IRINTL:
      return gimple_simplify_CFN_BUILT_IN_IRINTL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LRINTL:
      return gimple_simplify_CFN_BUILT_IN_LRINTL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LLRINTL:
      return gimple_simplify_CFN_BUILT_IN_LLRINTL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_IFLOOR:
      return gimple_simplify_CFN_BUILT_IN_IFLOOR (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LFLOOR:
      return gimple_simplify_CFN_BUILT_IN_LFLOOR (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LLFLOOR:
      return gimple_simplify_CFN_BUILT_IN_LLFLOOR (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ICEIL:
      return gimple_simplify_CFN_BUILT_IN_ICEIL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LCEIL:
      return gimple_simplify_CFN_BUILT_IN_LCEIL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LLCEIL:
      return gimple_simplify_CFN_BUILT_IN_LLCEIL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_IROUND:
      return gimple_simplify_CFN_BUILT_IN_IROUND (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LROUND:
      return gimple_simplify_CFN_BUILT_IN_LROUND (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LLROUND:
      return gimple_simplify_CFN_BUILT_IN_LLROUND (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_IRINT:
      return gimple_simplify_CFN_BUILT_IN_IRINT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LRINT:
      return gimple_simplify_CFN_BUILT_IN_LRINT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LLRINT:
      return gimple_simplify_CFN_BUILT_IN_LLRINT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_IFLOORF:
      return gimple_simplify_CFN_BUILT_IN_IFLOORF (res_op, seq, valueize, code, type, _p0);
    case -CFN_IFLOOR:
      return gimple_simplify_CFN_IFLOOR (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LFLOORF:
      return gimple_simplify_CFN_BUILT_IN_LFLOORF (res_op, seq, valueize, code, type, _p0);
    case -CFN_LFLOOR:
      return gimple_simplify_CFN_LFLOOR (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LLFLOORF:
      return gimple_simplify_CFN_BUILT_IN_LLFLOORF (res_op, seq, valueize, code, type, _p0);
    case -CFN_LLFLOOR:
      return gimple_simplify_CFN_LLFLOOR (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_ICEILF:
      return gimple_simplify_CFN_BUILT_IN_ICEILF (res_op, seq, valueize, code, type, _p0);
    case -CFN_ICEIL:
      return gimple_simplify_CFN_ICEIL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LCEILF:
      return gimple_simplify_CFN_BUILT_IN_LCEILF (res_op, seq, valueize, code, type, _p0);
    case -CFN_LCEIL:
      return gimple_simplify_CFN_LCEIL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LLCEILF:
      return gimple_simplify_CFN_BUILT_IN_LLCEILF (res_op, seq, valueize, code, type, _p0);
    case -CFN_LLCEIL:
      return gimple_simplify_CFN_LLCEIL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_IROUNDF:
      return gimple_simplify_CFN_BUILT_IN_IROUNDF (res_op, seq, valueize, code, type, _p0);
    case -CFN_IROUND:
      return gimple_simplify_CFN_IROUND (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LROUNDF:
      return gimple_simplify_CFN_BUILT_IN_LROUNDF (res_op, seq, valueize, code, type, _p0);
    case -CFN_LROUND:
      return gimple_simplify_CFN_LROUND (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LLROUNDF:
      return gimple_simplify_CFN_BUILT_IN_LLROUNDF (res_op, seq, valueize, code, type, _p0);
    case -CFN_LLROUND:
      return gimple_simplify_CFN_LLROUND (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_IRINTF:
      return gimple_simplify_CFN_BUILT_IN_IRINTF (res_op, seq, valueize, code, type, _p0);
    case -CFN_IRINT:
      return gimple_simplify_CFN_IRINT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LRINTF:
      return gimple_simplify_CFN_BUILT_IN_LRINTF (res_op, seq, valueize, code, type, _p0);
    case -CFN_LRINT:
      return gimple_simplify_CFN_LRINT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_LLRINTF:
      return gimple_simplify_CFN_BUILT_IN_LLRINTF (res_op, seq, valueize, code, type, _p0);
    case -CFN_LLRINT:
      return gimple_simplify_CFN_LLRINT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CPROJF:
      return gimple_simplify_CFN_BUILT_IN_CPROJF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CPROJ:
      return gimple_simplify_CFN_BUILT_IN_CPROJ (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_CPROJL:
      return gimple_simplify_CFN_BUILT_IN_CPROJL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_SIGNBITF:
      return gimple_simplify_CFN_BUILT_IN_SIGNBITF (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_SIGNBIT:
      return gimple_simplify_CFN_BUILT_IN_SIGNBIT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_SIGNBITL:
      return gimple_simplify_CFN_BUILT_IN_SIGNBITL (res_op, seq, valueize, code, type, _p0);
    case -CFN_SIGNBIT:
      return gimple_simplify_CFN_SIGNBIT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_PARITY:
      return gimple_simplify_CFN_BUILT_IN_PARITY (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_PARITYL:
      return gimple_simplify_CFN_BUILT_IN_PARITYL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_PARITYLL:
      return gimple_simplify_CFN_BUILT_IN_PARITYLL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_PARITYIMAX:
      return gimple_simplify_CFN_BUILT_IN_PARITYIMAX (res_op, seq, valueize, code, type, _p0);
    case -CFN_PARITY:
      return gimple_simplify_CFN_PARITY (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_POPCOUNT:
      return gimple_simplify_CFN_BUILT_IN_POPCOUNT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_POPCOUNTL:
      return gimple_simplify_CFN_BUILT_IN_POPCOUNTL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_POPCOUNTLL:
      return gimple_simplify_CFN_BUILT_IN_POPCOUNTLL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_POPCOUNTIMAX:
      return gimple_simplify_CFN_BUILT_IN_POPCOUNTIMAX (res_op, seq, valueize, code, type, _p0);
    case -CFN_POPCOUNT:
      return gimple_simplify_CFN_POPCOUNT (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FFS:
      return gimple_simplify_CFN_BUILT_IN_FFS (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FFSL:
      return gimple_simplify_CFN_BUILT_IN_FFSL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FFSLL:
      return gimple_simplify_CFN_BUILT_IN_FFSLL (res_op, seq, valueize, code, type, _p0);
    case -CFN_BUILT_IN_FFSIMAX:
      return gimple_simplify_CFN_BUILT_IN_FFSIMAX (res_op, seq, valueize, code, type, _p0);
    case -CFN_FFS:
      return gimple_simplify_CFN_FFS (res_op, seq, valueize, code, type, _p0);
    case -CFN_REDUC_PLUS:
      return gimple_simplify_CFN_REDUC_PLUS (res_op, seq, valueize, code, type, _p0);
    case -CFN_REDUC_IOR:
      return gimple_simplify_CFN_REDUC_IOR (res_op, seq, valueize, code, type, _p0);
    case -CFN_REDUC_XOR:
      return gimple_simplify_CFN_REDUC_XOR (res_op, seq, valueize, code, type, _p0);
    case -CFN_REDUC_MAX:
      return gimple_simplify_CFN_REDUC_MAX (res_op, seq, valueize, code, type, _p0);
    case -CFN_REDUC_MIN:
      return gimple_simplify_CFN_REDUC_MIN (res_op, seq, valueize, code, type, _p0);
    case -CFN_REDUC_FMAX:
      return gimple_simplify_CFN_REDUC_FMAX (res_op, seq, valueize, code, type, _p0);
    case -CFN_REDUC_FMIN:
      return gimple_simplify_CFN_REDUC_FMIN (res_op, seq, valueize, code, type, _p0);
    case -CFN_REDUC_AND:
      return gimple_simplify_CFN_REDUC_AND (res_op, seq, valueize, code, type, _p0);
    default:;
    }
  return false;
}

static bool
gimple_simplify_BIT_XOR_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case RSHIFT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
				    {
				      switch (TREE_CODE (_q41))
				        {
					case INTEGER_CST:
					  {
					    if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
					      {
						{
/* #line 170 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q41 };
						  if (gimple_simplify_426 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					    break;
					  }
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case RSHIFT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					if ((_q21 == _q30 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q30, 0) && types_match (_q21, _q30)))
					  {
					    if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
					      {
						{
/* #line 170 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
						  if (gimple_simplify_426 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      switch (TREE_CODE (_q31))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q31))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case RSHIFT_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      tree _q61 = gimple_assign_rhs2 (_a2);
				      _q61 = do_valueize (valueize, _q61);
				      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 170 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q61 };
						  if (gimple_simplify_426 (res_op, seq, valueize, type, captures))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case RSHIFT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      switch (TREE_CODE (_q51))
				        {
					case INTEGER_CST:
					  {
					    if ((_q31 == _q50 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q50, 0) && types_match (_q31, _q50)))
					      {
						{
/* #line 170 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q50, _p0, _q51 };
						  if (gimple_simplify_426 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					    break;
					  }
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_zerop (_p1))
  {
    {
/* #line 182 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      gimple_seq *lseq = seq;
      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", 182, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[0];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1292:;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 1027 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_323 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case RSHIFT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 1031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_460 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
									    if (gimple_simplify_422 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
						    {
						      switch (TREE_CODE (_q61))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q61))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
									{
									  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
									    if (gimple_simplify_422 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
									      return true;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
									    if (gimple_simplify_422 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      switch (TREE_CODE (_q61))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q61))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
									{
									  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
									    if (gimple_simplify_422 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
									      return true;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_q21))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case BIT_AND_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (tree_swap_operands_p (_q60, _q61))
							  std::swap (_q60, _q61);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q61, _q21 };
								    if (gimple_simplify_279 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
						    {
						      {
/* #line 1169 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							if (gimple_simplify_428 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case BIT_AND_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					switch (TREE_CODE (_q50))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q50))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case BIT_NOT_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
								    if (gimple_simplify_279 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
						    {
						      {
/* #line 1169 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q30 };
							if (gimple_simplify_428 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q21 };
					if (gimple_simplify_381 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
				    {
				      {
/* #line 1174 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q20 };
					if (gimple_simplify_381 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
				    {
				      switch (TREE_CODE (_q41))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q41))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_NOT_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a3);
						      _q60 = do_valueize (valueize, _q60);
						      {
/* #line 1169 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q60 };
							if (gimple_simplify_428 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
						    {
						      {
/* #line 1169 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
							if (gimple_simplify_428 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_507 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      {
/* #line 1174 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
					if (gimple_simplify_381 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q31))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q31))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
				    {
				      {
/* #line 1174 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q30 };
					if (gimple_simplify_381 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 1220 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
				    if (gimple_simplify_451 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1220 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20, _p1 };
				    if (gimple_simplify_451 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1220 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q31, _p0 };
				    if (gimple_simplify_451 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q31))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q31))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 1220 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _q50, _q30, _p0 };
				    if (gimple_simplify_451 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 1225 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
				    if (gimple_simplify_453 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1225 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q20, _p1 };
				    if (gimple_simplify_453 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1225 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q31, _p0 };
				    if (gimple_simplify_453 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q31))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q31))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 1225 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _q50, _q30, _p0 };
				    if (gimple_simplify_453 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
						    {
						      {
/* #line 1320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
							if (gimple_simplify_507 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
						    {
						      {
/* #line 1320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
							if (gimple_simplify_507 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case BIT_AND_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if (tree_swap_operands_p (_q70, _q71))
									  std::swap (_q70, _q71);
									switch (TREE_CODE (_q71))
									  {
									  case INTEGER_CST:
									    {
									      {
/* #line 1571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
										if (gimple_simplify_393 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
										  return true;
									      }
									      break;
									    }
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case BIT_AND_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (tree_swap_operands_p (_q60, _q61))
							  std::swap (_q60, _q61);
							switch (TREE_CODE (_q61))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 1571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
								if (gimple_simplify_393 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
						    {
						      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
							if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
						    {
						      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
							if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
				    {
				      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
					if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
				    {
				      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
					if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
						    {
						      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
							if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
						    {
						      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
							if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
				    {
				      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
					if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
				    {
				      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
					if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 1320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_507 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	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", 1325, __FILE__, __LINE__);
	{
	  tree tem;
	  tem =  build_zero_cst (type);
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1293:;
      }
    }
  if (integer_all_onesp (_p1))
    {
      {
/* #line 1330 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	gimple_seq *lseq = seq;
	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", 1330, __FILE__, __LINE__);
	{
	  res_op->set_op (BIT_NOT_EXPR, type, 1);
	  res_op->ops[0] = captures[0];
	  res_op->resimplify (lseq, valueize);
	  return true;
	}
next_after_fail1294:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_NOT_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 1427 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_21 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_21 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
							    if (gimple_simplify_21 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_NOT_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 1427 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
							    if (gimple_simplify_21 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
							    if (gimple_simplify_21 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
							    if (gimple_simplify_21 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
							    if (gimple_simplify_21 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      switch (TREE_CODE (_q61))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q61))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
									{
									  {
/* #line 1522 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
									    if (gimple_simplify_55 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
									    if (gimple_simplify_55 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case BIT_XOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
							    if (gimple_simplify_92 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
							    if (gimple_simplify_21 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      case BIT_XOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
							    if (gimple_simplify_92 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_30 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_33 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
						    {
						      switch (TREE_CODE (_q61))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q61))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
									{
									  {
/* #line 1522 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
									    if (gimple_simplify_55 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
									    if (gimple_simplify_55 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
				    {
				      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
					if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
				    {
				      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q21 };
					if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
		    {
		      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
			if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
		    {
		      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q21 };
			if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q21, _p0 };
							    if (gimple_simplify_92 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_NOT_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 1437 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q21, _p0 };
							    if (gimple_simplify_92 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_33 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
				    {
				      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
					if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
				    {
				      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q20 };
					if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
		    {
		      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
			if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
		    {
		      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q20 };
			if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_30 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					switch (TREE_CODE (_q50))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q50))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case BIT_AND_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (tree_swap_operands_p (_q60, _q61))
							  std::swap (_q60, _q61);
							switch (TREE_CODE (_q61))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 1571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
								if (gimple_simplify_393 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    case BIT_AND_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					switch (TREE_CODE (_q51))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
						if (gimple_simplify_393 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
				    {
				      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
					if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
				    {
				      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
					if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
		    {
		      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
			if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
		    {
		      {
/* #line 1579 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
			if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  switch (TREE_CODE (_q50))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q50))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q60 = gimple_assign_rhs1 (_a4);
								  _q60 = do_valueize (valueize, _q60);
								  {
/* #line 1585 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
								    if (gimple_simplify_343 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case BIT_NOT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 1585 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
						    if (gimple_simplify_343 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case INTEGER_CST:
				      {
					{
/* #line 1592 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
					  if (gimple_simplify_38 (res_op, seq, valueize, type, captures))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 1585 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
						    if (gimple_simplify_343 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1585 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_343 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case INTEGER_CST:
		      {
			{
/* #line 1592 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_38 (res_op, seq, valueize, type, captures))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
		  {
/* #line 2101 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _p1 };
		    if (gimple_simplify_482 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 1600 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_109 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 1600 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_109 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
				    {
				      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
					if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
				    {
				      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
					if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
				    {
				      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
					if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
				    {
				      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
					if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 1600 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			if (gimple_simplify_109 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 1600 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_109 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if (tree_swap_operands_p (_q70, _q71))
								    std::swap (_q70, _q71);
								  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
								    {
								      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
									if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
									  return true;
								      }
								    }
								  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
								    {
								      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
									if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
									  return true;
								      }
								    }
								  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
								    {
								      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
									if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
									  return true;
								      }
								    }
								  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
								    {
								      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
									if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_AND_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
						    {
						      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
							if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
						    {
						      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q30 };
							if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
				    {
				      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
					if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
				    {
				      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q30 };
					if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_XOR_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
						    {
						      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
							if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
						    {
						      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
							if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
				    {
				      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
					if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
				    {
				      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
					if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
				    {
				      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
					if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
				    {
				      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
					if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
		    {
		      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
			if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
		    {
		      {
/* #line 1626 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
			if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_XOR_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if (tree_swap_operands_p (_q70, _q71))
								    std::swap (_q70, _q71);
								  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
								    {
								      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q71 };
									if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
								    {
								      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q70 };
									if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
								    {
								      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q71 };
									if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
								    {
								      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q70 };
									if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case BIT_XOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q61 };
							if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
						    {
						      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
							if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
						    {
						      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q61 };
							if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
						    {
						      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q60 };
							if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1802 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_407 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 1802 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
		      return true;
		  }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_XOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
						    {
						      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q61 };
							if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
						    {
						      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q60 };
							if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
						    {
						      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q61 };
							if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
						    {
						      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q60 };
							if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 1641 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_78 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if (CONSTANT_CLASS_P (_q21))
		    {
		      if (CONSTANT_CLASS_P (_p1))
			{
			  {
/* #line 1877 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_516 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (gimple_truth_valued_p (_q20, valueize))
		    {
		      if (gimple_truth_valued_p (_q21, valueize))
			{
			  switch (TREE_CODE (_p1))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p1))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case EQ_EXPR:
				        {
					  tree _q50 = gimple_assign_rhs1 (_a2);
					  _q50 = do_valueize (valueize, _q50);
					  tree _q51 = gimple_assign_rhs2 (_a2);
					  _q51 = do_valueize (valueize, _q51);
					  if (tree_swap_operands_p (_q50, _q51))
					    std::swap (_q50, _q51);
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    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", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1295;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1295:;
						  }
						  {
/* #line 2074 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    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", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1296;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1296:;
						  }
					        }
					    }
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    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", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1297;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1297:;
						  }
						  {
/* #line 2074 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    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", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1298;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1298:;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_truth_valued_p (_q50, valueize))
					{
					  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					    {
					      if (gimple_truth_valued_p (_q51, valueize))
						{
						  {
/* #line 2074 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    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", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1299;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1299:;
						  }
						  {
/* #line 2074 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    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", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1300;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1300:;
						  }
					        }
					    }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_truth_valued_p (_q50, valueize))
					{
					  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
					    {
					      if (gimple_truth_valued_p (_q51, valueize))
						{
						  {
/* #line 2074 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    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", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1301;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1301:;
						  }
						  {
/* #line 2074 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    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", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1302;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1302:;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_logical_inverted_value (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	{
	  if (gimple_truth_valued_p (_p1, valueize))
	    {
	      {
/* #line 1926 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		if (gimple_simplify_20 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
		  return true;
	      }
	    }
        }
}
}
{
  tree _p0_pops[1];
  if (gimple_nop_convert (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q20))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case BIT_NOT_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      {
/* #line 2101 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _p1 };
			if (gimple_simplify_173 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
if (gimple_truth_valued_p (_p0, valueize))
  {
    {
      tree _p1_pops[1];
      if (gimple_logical_inverted_value (_p1, _p1_pops, valueize))
        {
	  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		if (gimple_simplify_20 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
		  return true;
	      }
	    }
}
    }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 2101 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
		    if (gimple_simplify_482 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p1_pops[1];
  if (gimple_nop_convert (_p1, _p1_pops, valueize))
    {
      tree _q30 = _p1_pops[0];
      switch (TREE_CODE (_q30))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q30))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case BIT_NOT_EXPR:
		    {
		      tree _q40 = gimple_assign_rhs1 (_a1);
		      _q40 = do_valueize (valueize, _q40);
		      {
/* #line 2101 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
			if (gimple_simplify_173 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2469 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_68 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_XOR_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case MULT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_31 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LSHIFT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_270 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			      if (gimple_simplify_321 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case MULT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_270 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
			      if (gimple_simplify_321 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case LSHIFT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_340 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			      if (gimple_simplify_277 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
			      if (gimple_simplify_277 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      if (gimple_zero_one_valued_p (_q31, valueize))
					{
					  {
/* #line 3625 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
					    if (gimple_simplify_379 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
				    {
				      if (gimple_zero_one_valued_p (_q31, valueize))
					{
					  {
/* #line 3625 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q31 };
					    if (gimple_simplify_379 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (gimple_zero_one_valued_p (_q30, valueize))
		  {
		    switch (TREE_CODE (_q31))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q31))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case BIT_XOR_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if (tree_swap_operands_p (_q50, _q51))
				      std::swap (_q50, _q51);
				    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
				      {
					{
/* #line 3625 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q51, _q30 };
					  if (gimple_simplify_379 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    if ((_q51 == _p0 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _p0, 0) && types_match (_q51, _p0)))
				      {
					{
/* #line 3625 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q50, _q30 };
					  if (gimple_simplify_379 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (gimple_zero_one_valued_p (_q21, valueize))
				    {
				      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
					{
					  {
/* #line 3625 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
					    if (gimple_simplify_379 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
					{
					  {
/* #line 3625 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q21 };
					    if (gimple_simplify_379 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (gimple_zero_one_valued_p (_q20, valueize))
		  {
		    switch (TREE_CODE (_q21))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q21))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case BIT_XOR_EXPR:
				  {
				    tree _q40 = gimple_assign_rhs1 (_a2);
				    _q40 = do_valueize (valueize, _q40);
				    tree _q41 = gimple_assign_rhs2 (_a2);
				    _q41 = do_valueize (valueize, _q41);
				    if (tree_swap_operands_p (_q40, _q41))
				      std::swap (_q40, _q41);
				    if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
				      {
					{
/* #line 3625 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q20 };
					  if (gimple_simplify_379 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
				      {
					{
/* #line 3625 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
					  if (gimple_simplify_379 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    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", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1303;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1303;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1303:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			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", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1304;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1304;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1304:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			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", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1305;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1305;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1305:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR, UNGE_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case LT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 5188 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
					    if (gimple_simplify_433 (res_op, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  case GE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 5196 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
					    if (gimple_simplify_45 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR, UNGT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR, UNLT_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case GE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 5188 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
					    if (gimple_simplify_433 (res_op, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  case LT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 5196 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _p0, _q20 };
					    if (gimple_simplify_45 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR, UNLE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNORDERED_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case ORDERED_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNLT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNLE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNGT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNGE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNEQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case LTGT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5137 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_327 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case VEC_PERM_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case VEC_PERM_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      tree _q61 = gimple_assign_rhs2 (_a2);
				      _q61 = do_valueize (valueize, _q61);
				      tree _q62 = gimple_assign_rhs3 (_a2);
				      _q62 = do_valueize (valueize, _q62);
				      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 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (VECTOR_INTEGER_TYPE_P (type)
)
						  {
						    gimple_seq *lseq = seq;
						    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", 8488, __FILE__, __LINE__);
						    {
						      res_op->set_op (VEC_PERM_EXPR, type, 3);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[2];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1306;
							captures[3] = _r1;
						      }
						      res_op->ops[0] = captures[3];
						      res_op->ops[1] = captures[3];
						      res_op->ops[2] = captures[1];
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1306:;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_PARITY:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_PARITY:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 7756 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_148 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITY))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_PARITYL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_PARITYL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 7756 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_148 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITYL))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_PARITYLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_PARITYLL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 7756 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_148 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITYLL))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_PARITYIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_PARITYIMAX:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 7756 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_148 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITYIMAX))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_PARITY:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_PARITY:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 7756 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_148 (res_op, seq, valueize, type, captures, CFN_PARITY))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_PLUS_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_zerop (_p1))
    {
      {
/* #line 182 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	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", 182, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1307:;
      }
    }
  if (real_zerop (_p1))
    {
      {
/* #line 198 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_147 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 217 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_361 (res_op, seq, valueize, type, captures, PLUS_EXPR, PLUS_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 217 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_361 (res_op, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case MAX_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      switch (TREE_CODE (_q50))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q50))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case NEGATE_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a3);
						      _q60 = do_valueize (valueize, _q60);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
								if (gimple_simplify_364 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  if (integer_zerop (_q21))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case MAX_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a3);
						      _q60 = do_valueize (valueize, _q60);
						      tree _q61 = gimple_assign_rhs2 (_a3);
						      _q61 = do_valueize (valueize, _q61);
						      if (tree_swap_operands_p (_q60, _q61))
						        std::swap (_q60, _q61);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
								if (gimple_simplify_364 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						      {
/* #line 556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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))
 {
 value_range vr0;
 if (ovf1 == wi::OVF_NONE && ovf2 == wi::OVF_NONE
 && get_global_range_query ()->range_of_expr (vr0, captures[2])
 && vr0.kind () == VR_RANGE)
 {
 wide_int wmin0 = vr0.lower_bound ();
 wide_int wmax0 = vr0.upper_bound ();
 wmin0 = wi::mul (wmin0, wi::to_wide (captures[4]), TYPE_SIGN (type), &ovf1);
 wmax0 = wi::mul (wmax0, wi::to_wide (captures[4]), TYPE_SIGN (type), &ovf2);
 if (ovf1 == wi::OVF_NONE && ovf2 == wi::OVF_NONE)
 {
 wi::add (wmin0, mul, TYPE_SIGN (type), &ovf1);
 wi::add (wmax0, mul, TYPE_SIGN (type), &ovf2);
 if (ovf1 == wi::OVF_NONE && ovf2 == wi::OVF_NONE)
 overflowed = false;
 }
 }
 }
 else
 overflowed = false;
/* #line 590 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  if (!overflowed
)
							    {
							      gimple_seq *lseq = seq;
							      if (lseq
							          && (!single_use (captures[0])
							              || !single_use (captures[1])))
							        lseq = NULL;
							      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", 591, __FILE__, __LINE__);
							      {
								res_op->set_op (PLUS_EXPR, type, 2);
								{
								  tree _o1[2], _r1;
								  _o1[0] = captures[2];
								  _o1[1] = captures[4];
								  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
								  tem_op.resimplify (lseq, valueize);
								  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
								  if (!_r1) goto next_after_fail1308;
								  res_op->ops[0] = _r1;
								}
								res_op->ops[1] =  wide_int_to_tree (type, add);
								res_op->resimplify (lseq, valueize);
								return true;
							      }
next_after_fail1308:;
							    }
						      }
						    }
						    break;
						  }
					        default:;
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 1019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_54 (res_op, seq, valueize, type, captures, PLUS_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  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 3317 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			      if (gimple_simplify_193 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
									    if (gimple_simplify_422 (res_op, seq, valueize, type, captures, PLUS_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
						    {
						      switch (TREE_CODE (_q61))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q61))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
									{
									  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
									    if (gimple_simplify_422 (res_op, seq, valueize, type, captures, PLUS_EXPR))
									      return true;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
									    if (gimple_simplify_422 (res_op, seq, valueize, type, captures, PLUS_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      switch (TREE_CODE (_q61))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q61))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
									{
									  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
									    if (gimple_simplify_422 (res_op, seq, valueize, type, captures, PLUS_EXPR))
									      return true;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_q21))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case BIT_AND_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (tree_swap_operands_p (_q60, _q61))
							  std::swap (_q60, _q61);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q61, _q21 };
								    if (gimple_simplify_279 (res_op, seq, valueize, type, captures, PLUS_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case BIT_AND_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					switch (TREE_CODE (_q50))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q50))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case BIT_NOT_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
								    if (gimple_simplify_279 (res_op, seq, valueize, type, captures, PLUS_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 1382 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    if (gimple_simplify_478 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_zerop (_p0))
  {
    {
/* #line 198 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
      if (gimple_simplify_147 (res_op, seq, valueize, type, captures))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 1382 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
		    if (gimple_simplify_478 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			    if (gimple_simplify_13 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			    if (gimple_simplify_13 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_36 (res_op, seq, valueize, type, captures, PLUS_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_192 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					switch (TREE_CODE (_q50))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q50))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case BIT_AND_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (tree_swap_operands_p (_q60, _q61))
							  std::swap (_q60, _q61);
							switch (TREE_CODE (_q61))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 1571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50, _q60, _q61 };
								if (gimple_simplify_393 (res_op, seq, valueize, type, captures, PLUS_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    case BIT_AND_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					switch (TREE_CODE (_q51))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
						if (gimple_simplify_393 (res_op, seq, valueize, type, captures, PLUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_36 (res_op, seq, valueize, type, captures, PLUS_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_192 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q21))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q21))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
								if (gimple_simplify_62 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
								if (gimple_simplify_62 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (tree_swap_operands_p (_q40, _q41))
				        std::swap (_q40, _q41);
				      {
					tree _q21_pops[1];
					if (gimple_nop_convert (_q21, _q21_pops, valueize))
					  {
					    tree _q70 = _q21_pops[0];
					    switch (TREE_CODE (_q70))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _q70))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							case BIT_IOR_EXPR:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    tree _q81 = gimple_assign_rhs2 (_a3);
							    _q81 = do_valueize (valueize, _q81);
							    if (tree_swap_operands_p (_q80, _q81))
							      std::swap (_q80, _q81);
							    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
									  if (gimple_simplify_62 (res_op, seq, valueize, type, captures))
									    return true;
									}
								      }
								  }
							      }
							    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
									  if (gimple_simplify_62 (res_op, seq, valueize, type, captures))
									    return true;
									}
								      }
								  }
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
}
				      }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
}
		}
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
			      if (gimple_simplify_356 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			  }
}
		  }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_356 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case BIT_AND_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if (tree_swap_operands_p (_q70, _q71))
									  std::swap (_q70, _q71);
									switch (TREE_CODE (_q71))
									  {
									  case INTEGER_CST:
									    {
									      {
/* #line 1571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q60, _q70, _q71 };
										if (gimple_simplify_393 (res_op, seq, valueize, type, captures, PLUS_EXPR))
										  return true;
									      }
									      break;
									    }
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case BIT_AND_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (tree_swap_operands_p (_q60, _q61))
							  std::swap (_q60, _q61);
							switch (TREE_CODE (_q61))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 1571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1, _q60, _q61 };
								if (gimple_simplify_393 (res_op, seq, valueize, type, captures, PLUS_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case NEGATE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q30 };
				    if (gimple_simplify_315 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_nop_convert (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q20))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case MINUS_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (tree_swap_operands_p (_q40, _q41))
				        std::swap (_q40, _q41);
				      switch (TREE_CODE (_q31))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q31))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_IOR_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      if (tree_swap_operands_p (_q70, _q71))
						        std::swap (_q70, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
								    if (gimple_simplify_62 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
								    if (gimple_simplify_62 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    {
		      tree _q30_pops[1];
		      if (gimple_nop_convert (_q30, _q30_pops, valueize))
		        {
			  tree _q40 = _q30_pops[0];
			  switch (TREE_CODE (_q40))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _q40))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case BIT_AND_EXPR:
				        {
					  tree _q50 = gimple_assign_rhs1 (_a2);
					  _q50 = do_valueize (valueize, _q50);
					  tree _q51 = gimple_assign_rhs2 (_a2);
					  _q51 = do_valueize (valueize, _q51);
					  if (tree_swap_operands_p (_q50, _q51))
					    std::swap (_q50, _q51);
					  {
					    tree _q31_pops[1];
					    if (gimple_nop_convert (_q31, _q31_pops, valueize))
					      {
						tree _q80 = _q31_pops[0];
						switch (TREE_CODE (_q80))
						  {
						  case SSA_NAME:
						    if (gimple *_d3 = get_def (valueize, _q80))
						      {
							if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							  switch (gimple_assign_rhs_code (_a3))
							    {
							    case BIT_IOR_EXPR:
							      {
								tree _q90 = gimple_assign_rhs1 (_a3);
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = gimple_assign_rhs2 (_a3);
								_q91 = do_valueize (valueize, _q91);
								if (tree_swap_operands_p (_q90, _q91))
								  std::swap (_q90, _q91);
								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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
									      if (gimple_simplify_62 (res_op, seq, valueize, type, captures))
									        return true;
									    }
									  }
								      }
								  }
								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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
									      if (gimple_simplify_62 (res_op, seq, valueize, type, captures))
									        return true;
									    }
									  }
								      }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
}
					  }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
}
		    }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
				    if (gimple_simplify_315 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    if (gimple_simplify_315 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
		    if (gimple_simplify_315 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_nop_convert (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q20))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case MINUS_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      {
			tree _q31_pops[1];
			if (gimple_nop_convert (_q31, _q31_pops, valueize))
			  {
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
				  if (gimple_simplify_356 (res_op, seq, valueize, type, captures))
				    return true;
				}
			      }
}
		      }
		      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			    if (gimple_simplify_356 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		      if (CONSTANT_CLASS_P (_q31))
			{
			  if (CONSTANT_CLASS_P (_p1))
			    {
			      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				if (gimple_simplify_472 (res_op, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, PLUS_EXPR))
				  return true;
			      }
			    }
		        }
		      if (CONSTANT_CLASS_P (_q30))
			{
			  if (CONSTANT_CLASS_P (_p1))
			    {
			      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				if (gimple_simplify_164 (res_op, seq, valueize, type, captures, PLUS_EXPR))
				  return true;
			      }
			    }
		        }
		      break;
		    }
		  case PLUS_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      if (tree_swap_operands_p (_q30, _q31))
		        std::swap (_q30, _q31);
		      if (CONSTANT_CLASS_P (_q31))
			{
			  if (CONSTANT_CLASS_P (_p1))
			    {
			      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				if (gimple_simplify_472 (res_op, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, PLUS_EXPR))
				  return true;
			      }
			    }
		        }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
		    tree _q31_pops[1];
		    if (gimple_nop_convert (_q31, _q31_pops, valueize))
		      {
			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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			      if (gimple_simplify_356 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			  }
}
		  }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			if (gimple_simplify_356 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p1_pops[1];
  if (gimple_nop_convert (_p1, _p1_pops, valueize))
    {
      tree _q30 = _p1_pops[0];
      switch (TREE_CODE (_q30))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q30))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case MINUS_EXPR:
		    {
		      tree _q40 = gimple_assign_rhs1 (_a1);
		      _q40 = do_valueize (valueize, _q40);
		      tree _q41 = gimple_assign_rhs2 (_a1);
		      _q41 = do_valueize (valueize, _q41);
		      {
			tree _q41_pops[1];
			if (gimple_nop_convert (_q41, _q41_pops, valueize))
			  {
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
				  if (gimple_simplify_356 (res_op, seq, valueize, type, captures))
				    return true;
				}
			      }
}
		      }
		      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
			    if (gimple_simplify_356 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_5 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_5 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if (CONSTANT_CLASS_P (_q21))
		    {
		      if (CONSTANT_CLASS_P (_p1))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_472 (res_op, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, PLUS_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
					if (gimple_simplify_5 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q50, _q20 };
					if (gimple_simplify_5 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      case MINUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_377 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
					if (gimple_simplify_377 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if (CONSTANT_CLASS_P (_q21))
		    {
		      if (CONSTANT_CLASS_P (_p1))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_472 (res_op, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, PLUS_EXPR))
			      return true;
			  }
		        }
		    }
		  if (CONSTANT_CLASS_P (_q20))
		    {
		      if (CONSTANT_CLASS_P (_p1))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_164 (res_op, seq, valueize, type, captures, PLUS_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_DIFF_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_145 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q51, _q20 };
					if (gimple_simplify_145 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_492 (res_op, seq, valueize, type, captures, PLUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case MINUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_492 (res_op, seq, valueize, type, captures, MINUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
			{
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (!TYPE_SATURATING (type)
)
				    {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
					{
/* #line 3023 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  if (TREE_CODE (TREE_TYPE (captures[1])) == INTEGER_TYPE
 && TREE_CODE (type) == INTEGER_TYPE
 && TYPE_PRECISION (type) > TYPE_PRECISION (TREE_TYPE (captures[1]))
 && int_fits_type_p (captures[2], TREE_TYPE (captures[1]))
)
					    {
					      {
/* #line 3029 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 wi::overflow_type min_ovf = wi::OVF_OVERFLOW,
 max_ovf = wi::OVF_OVERFLOW;
 tree inner_type = TREE_TYPE (captures[1]);
 wide_int w1
 = wide_int::from (wi::to_wide (captures[2]), TYPE_PRECISION (inner_type),
 TYPE_SIGN (inner_type));
 value_range vr;
 if (get_global_range_query ()->range_of_expr (vr, captures[1])
 && vr.kind () == VR_RANGE)
 {
 wide_int wmin0 = vr.lower_bound ();
 wide_int wmax0 = vr.upper_bound ();
 wi::add (wmin0, w1, TYPE_SIGN (inner_type), &min_ovf);
 wi::add (wmax0, w1, TYPE_SIGN (inner_type), &max_ovf);
 }
/* #line 3049 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (min_ovf == wi::OVF_NONE && max_ovf == wi::OVF_NONE
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])))
						        lseq = NULL;
						      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", 3050, __FILE__, __LINE__);
						      {
							res_op->set_op (NOP_EXPR, type, 1);
							{
							  tree _o1[2], _r1;
							  _o1[0] = captures[1];
							  _o1[1] =  wide_int_to_tree (TREE_TYPE (captures[1]), w1);
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1309;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1309:;
						    }
					      }
					    }
					}
				    }
				}
			        break;
			      }
			    default:;
			    }
			}
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_403 (res_op, seq, valueize, type, captures, PLUS_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
						    {
						      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
							if (gimple_simplify_301 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
						    {
						      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
							if (gimple_simplify_301 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_301 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if (integer_each_onep (_p1))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_301 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  if (integer_each_onep (_p1))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_113 (res_op, seq, valueize, type, captures, PLUS_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_113 (res_op, seq, valueize, type, captures, PLUS_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_113 (res_op, seq, valueize, type, captures, PLUS_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_113 (res_op, seq, valueize, type, captures, PLUS_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_183 (res_op, seq, valueize, type, captures, PLUS_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
			if (gimple_simplify_183 (res_op, seq, valueize, type, captures, PLUS_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_477 (res_op, seq, valueize, type, captures, PLUS_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_477 (res_op, seq, valueize, type, captures, PLUS_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (gimple_zero_one_valued_p (_q21, valueize))
				    {
				      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
					{
					  {
/* #line 3613 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q21 };
					    if (gimple_simplify_505 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (gimple_zero_one_valued_p (_q20, valueize))
		  {
		    switch (TREE_CODE (_q21))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q21))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case MINUS_EXPR:
				  {
				    tree _q40 = gimple_assign_rhs1 (_a2);
				    _q40 = do_valueize (valueize, _q40);
				    tree _q41 = gimple_assign_rhs2 (_a2);
				    _q41 = do_valueize (valueize, _q41);
				    if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
				      {
					{
/* #line 3613 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _q20 };
					  if (gimple_simplify_505 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  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 3317 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			      if (gimple_simplify_193 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case LSHIFT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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 3334 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
/* #line 3334 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 && tree_fits_uhwi_p (captures[2])
 && tree_to_uhwi (captures[2]) < element_precision (type)
 && tree_fits_uhwi_p (captures[4])
 && tree_to_uhwi (captures[4]) < element_precision (type)
 && (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
 || optab_handler (smul_optab,
 TYPE_MODE (type)) != CODE_FOR_nothing)
)
						      {
							{
/* #line 3342 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree t = type;
 if (!TYPE_OVERFLOW_WRAPS (t)) t = unsigned_type_for (t);
 unsigned int prec = element_precision (type);
 wide_int w = wi::set_bit_in_zero (tree_to_uhwi (captures[2]), prec);
 w += wi::set_bit_in_zero (tree_to_uhwi (captures[4]), prec);
 tree cst = wide_int_to_tree (VECTOR_TYPE_P (t) ? TREE_TYPE (t)
 : t, w);
 cst = build_uniform_cst (t, cst);
							    gimple_seq *lseq = seq;
							    if (lseq
							        && (!single_use (captures[0])
							            || !single_use (captures[3])))
							      lseq = NULL;
							    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", 3350, __FILE__, __LINE__);
							    {
							      res_op->set_op (NOP_EXPR, type, 1);
							      {
								tree _o1[2], _r1;
								{
								  tree _o2[1], _r2;
								  _o2[0] = captures[1];
								  if (t != TREE_TYPE (_o2[0])
								      && !useless_type_conversion_p (t, TREE_TYPE (_o2[0])))
								    {
								      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, t, _o2[0]);
								      tem_op.resimplify (lseq, valueize);
								      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
								      if (!_r2) goto next_after_fail1310;
								    }
								  else
								    _r2 = _o2[0];
								  _o1[0] = _r2;
								}
								_o1[1] =  cst;
								gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
								tem_op.resimplify (lseq, valueize);
								_r1 = maybe_push_res_to_seq (&tem_op, lseq);
								if (!_r1) goto next_after_fail1310;
								res_op->ops[0] = _r1;
							      }
							      res_op->resimplify (lseq, valueize);
							      return true;
							    }
next_after_fail1310:;
							}
						      }
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
				    {
				      if (gimple_zero_one_valued_p (_q31, valueize))
					{
					  {
/* #line 3613 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q31 };
					    if (gimple_simplify_505 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (gimple_zero_one_valued_p (_q30, valueize))
		  {
		    switch (TREE_CODE (_q31))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q31))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case MINUS_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _p0 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _p0, 0) && types_match (_q51, _p0)))
				      {
					{
/* #line 3613 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q50, _q30 };
					  if (gimple_simplify_505 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case TRUNC_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case TRUNC_MOD_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case CEIL_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case CEIL_MOD_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case FLOOR_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case FLOOR_MOD_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case ROUND_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if ((_q21 == _q31 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q31, 0) && types_match (_q21, _q31)))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case ROUND_MOD_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case TRUNC_DIV_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case TRUNC_MOD_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case CEIL_DIV_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case CEIL_MOD_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case FLOOR_DIV_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case FLOOR_MOD_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case ROUND_DIV_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case ROUND_MOD_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case TRUNC_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case TRUNC_DIV_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case TRUNC_DIV_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR, TRUNC_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case CEIL_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case CEIL_DIV_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case CEIL_DIV_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR, CEIL_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case FLOOR_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case FLOOR_DIV_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case FLOOR_DIV_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR, FLOOR_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case ROUND_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case ROUND_DIV_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case ROUND_DIV_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
								if (gimple_simplify_203 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR, ROUND_MOD_EXPR))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 4259 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 4259 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
)
	    {
	      {
/* #line 4260 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree tem = const_unop (NEGATE_EXPR, type, captures[1]);
/* #line 4261 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (!TREE_OVERFLOW (tem) || !flag_trapping_math
)
		    {
		      gimple_seq *lseq = seq;
		      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", 4262, __FILE__, __LINE__);
		      {
			res_op->set_op (MINUS_EXPR, type, 2);
			res_op->ops[0] = captures[0];
			res_op->ops[1] =  tem;
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1311:;
		    }
	      }
	    }
	}
        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 4267 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (SCALAR_FLOAT_TYPE_P (type)
)
	  {
	    gimple_seq *lseq = seq;
	    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", 4268, __FILE__, __LINE__);
	    {
	      res_op->set_op (MULT_EXPR, type, 2);
	      res_op->ops[0] = captures[0];
	      res_op->ops[1] =  build_real (type, dconst2);
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1312:;
	  }
	else
	  {
/* #line 4269 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	    if (INTEGRAL_TYPE_P (type)
)
	      {
		gimple_seq *lseq = seq;
		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", 4270, __FILE__, __LINE__);
		{
		  res_op->set_op (MULT_EXPR, type, 2);
		  res_op->ops[0] = captures[0];
		  res_op->ops[1] =  build_int_cst (type, 2);
		  res_op->resimplify (lseq, valueize);
		  return true;
		}
next_after_fail1313:;
	      }
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    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__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1314;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1314;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1314:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			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__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1315;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1315;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1315:;
		      }
		  }
		  if (integer_each_onep (_q21))
		    {
		      if (integer_zerop (_q22))
			{
			  {
/* #line 5066 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q21, _q22 };
			    if (gimple_simplify_83 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			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__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1316;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1316;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1316:;
		      }
		  }
	          break;
	        }
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q30) == SSA_NAME
		       || is_gimple_min_invariant (_q30)))
		    {
		      _q30 = do_valueize (valueize, _q30);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case VEC_COND_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      tree _q42 = gimple_assign_rhs3 (_a2);
				      _q42 = do_valueize (valueize, _q42);
				      if (integer_each_onep (_q41))
					{
					  if (integer_zerop (_q42))
					    {
					      {
/* #line 5066 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
						if (gimple_simplify_83 (res_op, seq, valueize, type, captures))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q20) == SSA_NAME
		       || is_gimple_min_invariant (_q20)))
		    {
		      _q20 = do_valueize (valueize, _q20);
		      switch (TREE_CODE (_q20))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q20))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case VEC_COND_EXPR:
				    {
				      tree _q30 = gimple_assign_rhs1 (_a2);
				      _q30 = do_valueize (valueize, _q30);
				      tree _q31 = gimple_assign_rhs2 (_a2);
				      _q31 = do_valueize (valueize, _q31);
				      tree _q32 = gimple_assign_rhs3 (_a2);
				      _q32 = do_valueize (valueize, _q32);
				      if (integer_each_onep (_q31))
					{
					  if (integer_zerop (_q32))
					    {
					      {
/* #line 5066 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q30, _q31, _q32 };
						if (gimple_simplify_83 (res_op, seq, valueize, type, captures))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  if (integer_each_onep (_q31))
		    {
		      if (integer_zerop (_q32))
			{
			  {
/* #line 5066 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
			    if (gimple_simplify_83 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case RDIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case RDIV_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_485 (res_op, seq, valueize, type, captures, PLUS_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case VEC_PERM_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (gimple_vec_same_elem_p (_q31, valueize))
				    {
				      if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
					{
					  {
/* #line 8364 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
					    if (gimple_simplify_103 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  if (gimple_vec_same_elem_p (_q30, valueize))
				    {
				      if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
					{
					  {
/* #line 8364 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
					    if (gimple_simplify_103 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case VEC_PERM_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      tree _q61 = gimple_assign_rhs2 (_a2);
				      _q61 = do_valueize (valueize, _q61);
				      tree _q62 = gimple_assign_rhs3 (_a2);
				      _q62 = do_valueize (valueize, _q62);
				      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 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (VECTOR_INTEGER_TYPE_P (type)
)
						  {
						    gimple_seq *lseq = seq;
						    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", 8488, __FILE__, __LINE__);
						    {
						      res_op->set_op (VEC_PERM_EXPR, type, 3);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[2];
							gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1317;
							captures[3] = _r1;
						      }
						      res_op->ops[0] = captures[3];
						      res_op->ops[1] = captures[3];
						      res_op->ops[2] = captures[1];
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1317:;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_q22))
		        {
			case VECTOR_CST:
			  {
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p1))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					case VEC_PERM_EXPR:
					  {
					    tree _q60 = gimple_assign_rhs1 (_a2);
					    _q60 = do_valueize (valueize, _q60);
					    tree _q61 = gimple_assign_rhs2 (_a2);
					    _q61 = do_valueize (valueize, _q61);
					    tree _q62 = gimple_assign_rhs3 (_a2);
					    _q62 = do_valueize (valueize, _q62);
					    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 8495 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
							    if (gimple_simplify_227 (res_op, seq, valueize, type, captures, PLUS_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						  }
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_POPCOUNT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POPCOUNT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 7730 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_211 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POPCOUNT))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POPCOUNTL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 7730 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_211 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POPCOUNTL))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POPCOUNTLL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 7730 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_211 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POPCOUNTLL))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POPCOUNTIMAX:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 7730 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_211 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POPCOUNTIMAX))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_POPCOUNT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_POPCOUNT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 7730 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
					if (gimple_simplify_211 (res_op, seq, valueize, type, captures, CFN_POPCOUNT))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if (gimple_vec_same_elem_p (_q41, valueize))
				    {
				      if ((_q31 == _q30 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q30, 0) && types_match (_q31, _q30)))
					{
					  {
/* #line 8364 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q41, _q32, _p0 };
					    if (gimple_simplify_103 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  if (gimple_vec_same_elem_p (_q40, valueize))
				    {
				      if ((_q31 == _q30 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _q30, 0) && types_match (_q31, _q30)))
					{
					  {
/* #line 8364 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q40, _q32, _p0 };
					    if (gimple_simplify_103 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_POINTER_PLUS_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_zerop (_p1))
    {
      {
/* #line 182 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	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", 182, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1318:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case POINTER_PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 2500 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
		    gimple_seq *lseq = seq;
		    if (lseq
		        && (!single_use (captures[0])))
		      lseq = NULL;
		    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", 2500, __FILE__, __LINE__);
		    {
		      res_op->set_op (POINTER_PLUS_EXPR, type, 2);
		      res_op->ops[0] = captures[1];
		      {
			tree _o1[2], _r1;
			_o1[0] = captures[2];
			_o1[1] = captures[3];
			gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			tem_op.resimplify (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r1) goto next_after_fail1319;
			res_op->ops[1] = _r1;
		      }
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1319:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_zerop (_p0))
  {
    {
/* #line 187 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
      gimple_seq *lseq = seq;
      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", 187, __FILE__, __LINE__);
      {
	res_op->set_op (NOP_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1320:;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  switch (TREE_CODE (_q41))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q41))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      CASE_CONVERT:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
								    {
								      {
/* #line 2518 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q50 };
/* #line 2518 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
 && ((
1
 && useless_type_conversion_p (type, TREE_TYPE (captures[3])))
 || (
0
 && type == TREE_TYPE (captures[3])))
)
									  {
									    gimple_seq *lseq = seq;
									    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", 2521, __FILE__, __LINE__);
									    {
									      tree tem;
									      tem = captures[3];
									      res_op->set_value (tem);
									      return true;
									    }
next_after_fail1321:;
									  }
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case POINTER_DIFF_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
				    {
				      {
/* #line 2524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _q30, _q40, _p0 };
/* #line 2524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[2]))
)
					  {
					    gimple_seq *lseq = seq;
					    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", 2525, __FILE__, __LINE__);
					    {
					      res_op->set_op (NOP_EXPR, type, 1);
					      res_op->ops[0] = captures[3];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1322:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q31))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q31))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
						    {
						      {
/* #line 2518 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _p1, _q40 };
/* #line 2518 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							if (TYPE_PRECISION (TREE_TYPE (captures[1])) == TYPE_PRECISION (TREE_TYPE (captures[2]))
 && ((
1
 && useless_type_conversion_p (type, TREE_TYPE (captures[3])))
 || (
0
 && type == TREE_TYPE (captures[3])))
)
							  {
							    gimple_seq *lseq = seq;
							    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", 2521, __FILE__, __LINE__);
							    {
							      tree tem;
							      tem = captures[3];
							      res_op->set_value (tem);
							      return true;
							    }
next_after_fail1323:;
							  }
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
		    {
		      {
/* #line 2524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p1, _q30, _p0 };
/* #line 2524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (TYPE_PRECISION (TREE_TYPE (captures[1])) >= TYPE_PRECISION (TREE_TYPE (captures[2]))
)
			  {
			    gimple_seq *lseq = seq;
			    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", 2525, __FILE__, __LINE__);
			    {
			      res_op->set_op (NOP_EXPR, type, 1);
			      res_op->ops[0] = captures[3];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1324:;
			  }
		      }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
							      {
/* #line 2536 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree algn = wide_int_to_tree (TREE_TYPE (captures[0]), ~wi::to_wide (captures[1]));
								  gimple_seq *lseq = seq;
								  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", 2537, __FILE__, __LINE__);
								  {
								    res_op->set_op (BIT_AND_EXPR, type, 2);
								    res_op->ops[0] = captures[0];
								    res_op->ops[1] =  algn;
								    res_op->resimplify (lseq, valueize);
								    return true;
								  }
next_after_fail1325:;
							      }
							    }
							    break;
							  }
						        default:;
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_MINUS_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_zerop (_p1))
    {
      {
/* #line 182 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	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", 182, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1326:;
      }
    }
  if (real_zerop (_p1))
    {
      {
/* #line 204 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 204 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (fold_real_zero_addition_p (type, captures[0], captures[1], 1)
)
	  {
	    gimple_seq *lseq = seq;
	    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", 205, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem = captures[0];
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail1327:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 217 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_361 (res_op, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 217 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_361 (res_op, seq, valueize, type, captures, MINUS_EXPR, MINUS_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 237 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
	  {
	    gimple_seq *lseq = seq;
	    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", 242, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem =  build_zero_cst (type);
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail1328:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case MULT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_q50))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q50))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case TRUNC_DIV_EXPR:
							        {
								  tree _q60 = gimple_assign_rhs1 (_a4);
								  _q60 = do_valueize (valueize, _q60);
								  tree _q61 = gimple_assign_rhs2 (_a4);
								  _q61 = do_valueize (valueize, _q61);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _q20, _q61 };
									    if (gimple_simplify_50 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q51))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q51))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case TRUNC_DIV_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[4] ATTRIBUTE_UNUSED = { _q70, _q71, _q20, _q50 };
									    if (gimple_simplify_50 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case MULT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case TRUNC_DIV_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q20, _q51 };
							    if (gimple_simplify_50 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_q41))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q41))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case TRUNC_DIV_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _q20, _q40 };
							    if (gimple_simplify_50 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case TRUNC_DIV_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _p0, _q51 };
							    if (gimple_simplify_50 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_q41))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q41))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case TRUNC_DIV_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q61, _p0, _q40 };
							    if (gimple_simplify_50 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case TRUNC_DIV_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _p0, _q41 };
					    if (gimple_simplify_50 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q31))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q31))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case TRUNC_DIV_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _p0, _q30 };
					    if (gimple_simplify_50 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case TRUNC_DIV_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q50 };
								if (gimple_simplify_255 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case TRUNC_DIV_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q20, _q30, _q40 };
								if (gimple_simplify_255 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 1019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_54 (res_op, seq, valueize, type, captures, MINUS_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1 };
							    if (gimple_simplify_412 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1 };
							    if (gimple_simplify_412 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1 };
							    if (gimple_simplify_412 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1 };
							    if (gimple_simplify_412 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case BIT_AND_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
/* #line 1138 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    if (~wi::to_wide (captures[2]) == wi::to_wide (captures[4])
)
						      {
							gimple_seq *lseq = seq;
							if (lseq
							    && (!single_use (captures[0])
							        || !single_use (captures[3])))
							  lseq = NULL;
							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", 1139, __FILE__, __LINE__);
							{
							  res_op->set_op (MINUS_EXPR, type, 2);
							  {
							    tree _o1[2], _r1;
							    _o1[0] = captures[1];
							    _o1[1] = captures[4];
							    gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r1) goto next_after_fail1329;
							    res_op->ops[0] = _r1;
							  }
							  res_op->ops[1] = captures[4];
							  res_op->resimplify (lseq, valueize);
							  return true;
							}
next_after_fail1329:;
						      }
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_NOT_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 1144 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
							    if (gimple_simplify_419 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
							    if (gimple_simplify_419 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
							    if (gimple_simplify_419 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_NOT_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 1144 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1 };
							    if (gimple_simplify_419 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case PLUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
								if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
								if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				{
				  tree _q50_pops[1];
				  if (gimple_nop_convert (_q50, _q50_pops, valueize))
				    {
				      tree _q60 = _q50_pops[0];
				      switch (TREE_CODE (_q60))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q60))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_IOR_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      if (tree_swap_operands_p (_q70, _q71))
						        std::swap (_q70, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
								    if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
								    if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
}
				}
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _p1_pops[1];
		  if (gimple_nop_convert (_p1, _p1_pops, valueize))
		    {
		      tree _q50 = _p1_pops[0];
		      switch (TREE_CODE (_q50))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q50))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case PLUS_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      tree _q61 = gimple_assign_rhs2 (_a2);
				      _q61 = do_valueize (valueize, _q61);
				      if (tree_swap_operands_p (_q60, _q61))
				        std::swap (_q60, _q61);
				      switch (TREE_CODE (_q60))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q60))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_IOR_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      if (tree_swap_operands_p (_q70, _q71))
						        std::swap (_q70, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
								    if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
								    if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    {
				      tree _q60_pops[1];
				      if (gimple_nop_convert (_q60, _q60_pops, valueize))
				        {
					  tree _q70 = _q60_pops[0];
					  switch (TREE_CODE (_q70))
					    {
					    case SSA_NAME:
					      if (gimple *_d3 = get_def (valueize, _q70))
					        {
						  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						    switch (gimple_assign_rhs_code (_a3))
						      {
						      case BIT_IOR_EXPR:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a3);
							  _q80 = do_valueize (valueize, _q80);
							  tree _q81 = gimple_assign_rhs2 (_a3);
							  _q81 = do_valueize (valueize, _q81);
							  if (tree_swap_operands_p (_q80, _q81))
							    std::swap (_q80, _q81);
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
									if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
									if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
}
				    }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
}
		}
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1362 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 1362 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    if (!TYPE_OVERFLOW_SANITIZED (type)
)
				      {
					{
/* #line 1363 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
					    gimple_seq *lseq = seq;
					    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", 1364, __FILE__, __LINE__);
					    {
					      res_op->set_op (NOP_EXPR, type, 1);
					      {
						tree _o1[2], _r1;
						{
						  tree _o2[1], _r2;
						  _o2[0] = captures[1];
						  if (utype != TREE_TYPE (_o2[0])
						      && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
						    {
						      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1330;
						    }
						  else
						    _r2 = _o2[0];
						  _o1[0] = _r2;
						}
						{
						  tree _o2[1], _r2;
						  _o2[0] = captures[0];
						  if (utype != TREE_TYPE (_o2[0])
						      && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
						    {
						      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1330;
						    }
						  else
						    _r2 = _o2[0];
						  _o1[1] = _r2;
						}
						gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1330;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1330:;
					}
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1478 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
 && !TYPE_SATURATING (type)
)
					      {
						gimple_seq *lseq = seq;
						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", 1480, __FILE__, __LINE__);
						{
						  res_op->set_op (BIT_AND_EXPR, type, 2);
						  res_op->ops[0] = captures[0];
						  res_op->ops[1] = captures[1];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1331:;
					      }
					  }
				        }
				    }
			          break;
			        }
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 1485 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (!TYPE_OVERFLOW_SANITIZED (type) && !TYPE_OVERFLOW_TRAPS (type)
 && !TYPE_SATURATING (type)
)
					      {
						gimple_seq *lseq = seq;
						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", 1487, __FILE__, __LINE__);
						{
						  res_op->set_op (BIT_IOR_EXPR, type, 2);
						  res_op->ops[0] = captures[0];
						  res_op->ops[1] = captures[1];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1332:;
					      }
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (integer_all_onesp (_q21))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_IOR_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      if (tree_swap_operands_p (_q70, _q71))
						        std::swap (_q70, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
								if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
								if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    {
				      tree _p1_pops[1];
				      if (gimple_nop_convert (_p1, _p1_pops, valueize))
				        {
					  tree _q70 = _p1_pops[0];
					  switch (TREE_CODE (_q70))
					    {
					    case SSA_NAME:
					      if (gimple *_d3 = get_def (valueize, _q70))
					        {
						  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						    switch (gimple_assign_rhs_code (_a3))
						      {
						      case BIT_IOR_EXPR:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a3);
							  _q80 = do_valueize (valueize, _q80);
							  tree _q81 = gimple_assign_rhs2 (_a3);
							  _q81 = do_valueize (valueize, _q81);
							  if (tree_swap_operands_p (_q80, _q81))
							    std::swap (_q80, _q81);
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
								    if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q31, _q30 };
								    if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
}
				    }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (tree_swap_operands_p (_q40, _q41))
				        std::swap (_q40, _q41);
				      if (integer_all_onesp (_q21))
					{
					  switch (TREE_CODE (_p1))
					    {
					    case SSA_NAME:
					      if (gimple *_d3 = get_def (valueize, _p1))
					        {
						  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						    switch (gimple_assign_rhs_code (_a3))
						      {
						      case BIT_IOR_EXPR:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a3);
							  _q80 = do_valueize (valueize, _q80);
							  tree _q81 = gimple_assign_rhs2 (_a3);
							  _q81 = do_valueize (valueize, _q81);
							  if (tree_swap_operands_p (_q80, _q81))
							    std::swap (_q80, _q81);
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
								    if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
								    if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					{
					  tree _p1_pops[1];
					  if (gimple_nop_convert (_p1, _p1_pops, valueize))
					    {
					      tree _q80 = _p1_pops[0];
					      switch (TREE_CODE (_q80))
					        {
						case SSA_NAME:
						  if (gimple *_d3 = get_def (valueize, _q80))
						    {
						      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						        switch (gimple_assign_rhs_code (_a3))
							  {
							  case BIT_IOR_EXPR:
							    {
							      tree _q90 = gimple_assign_rhs1 (_a3);
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = gimple_assign_rhs2 (_a3);
							      _q91 = do_valueize (valueize, _q91);
							      if (tree_swap_operands_p (_q90, _q91))
							        std::swap (_q90, _q91);
							      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
									if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q40 };
									if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
}
					}
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
}
		}
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 1492 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_43 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 1492 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_43 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    gimple_seq *lseq = seq;
					    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", 1497, __FILE__, __LINE__);
					    {
					      res_op->set_op (BIT_AND_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[1];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1333:;
					  }
				        }
				    }
			          break;
			        }
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    gimple_seq *lseq = seq;
					    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", 1502, __FILE__, __LINE__);
					    {
					      res_op->set_op (BIT_XOR_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[1];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1334:;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_nop_convert (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q20))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case PLUS_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      if (tree_swap_operands_p (_q30, _q31))
		        std::swap (_q30, _q31);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case BIT_AND_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (tree_swap_operands_p (_q40, _q41))
				        std::swap (_q40, _q41);
				      if (integer_all_onesp (_q31))
					{
					  switch (TREE_CODE (_p1))
					    {
					    case SSA_NAME:
					      if (gimple *_d3 = get_def (valueize, _p1))
					        {
						  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						    switch (gimple_assign_rhs_code (_a3))
						      {
						      case BIT_IOR_EXPR:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a3);
							  _q80 = do_valueize (valueize, _q80);
							  tree _q81 = gimple_assign_rhs2 (_a3);
							  _q81 = do_valueize (valueize, _q81);
							  if (tree_swap_operands_p (_q80, _q81))
							    std::swap (_q80, _q81);
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
								    if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
								    if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					{
					  tree _p1_pops[1];
					  if (gimple_nop_convert (_p1, _p1_pops, valueize))
					    {
					      tree _q80 = _p1_pops[0];
					      switch (TREE_CODE (_q80))
					        {
						case SSA_NAME:
						  if (gimple *_d3 = get_def (valueize, _q80))
						    {
						      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						        switch (gimple_assign_rhs_code (_a3))
							  {
							  case BIT_IOR_EXPR:
							    {
							      tree _q90 = gimple_assign_rhs1 (_a3);
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = gimple_assign_rhs2 (_a3);
							      _q91 = do_valueize (valueize, _q91);
							      if (tree_swap_operands_p (_q90, _q91))
							        std::swap (_q90, _q91);
							      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
									if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _q40 };
									if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
}
					}
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    {
		      tree _q30_pops[1];
		      if (gimple_nop_convert (_q30, _q30_pops, valueize))
		        {
			  tree _q40 = _q30_pops[0];
			  switch (TREE_CODE (_q40))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _q40))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case BIT_AND_EXPR:
				        {
					  tree _q50 = gimple_assign_rhs1 (_a2);
					  _q50 = do_valueize (valueize, _q50);
					  tree _q51 = gimple_assign_rhs2 (_a2);
					  _q51 = do_valueize (valueize, _q51);
					  if (tree_swap_operands_p (_q50, _q51))
					    std::swap (_q50, _q51);
					  if (integer_all_onesp (_q31))
					    {
					      switch (TREE_CODE (_p1))
					        {
						case SSA_NAME:
						  if (gimple *_d3 = get_def (valueize, _p1))
						    {
						      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						        switch (gimple_assign_rhs_code (_a3))
							  {
							  case BIT_IOR_EXPR:
							    {
							      tree _q90 = gimple_assign_rhs1 (_a3);
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = gimple_assign_rhs2 (_a3);
							      _q91 = do_valueize (valueize, _q91);
							      if (tree_swap_operands_p (_q90, _q91))
							        std::swap (_q90, _q91);
							      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
									if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
									if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					    {
					      tree _p1_pops[1];
					      if (gimple_nop_convert (_p1, _p1_pops, valueize))
					        {
						  tree _q90 = _p1_pops[0];
						  switch (TREE_CODE (_q90))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _q90))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      case BIT_IOR_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a3);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a3);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
									    if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
									    if (gimple_simplify_373 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
}
					    }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
}
		    }
		      break;
		    }
		  case BIT_AND_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      if (tree_swap_operands_p (_q30, _q31))
		        std::swap (_q30, _q31);
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case PLUS_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      tree _q61 = gimple_assign_rhs2 (_a2);
				      _q61 = do_valueize (valueize, _q61);
				      if (tree_swap_operands_p (_q60, _q61))
				        std::swap (_q60, _q61);
				      switch (TREE_CODE (_q60))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q60))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_IOR_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      if (tree_swap_operands_p (_q70, _q71))
						        std::swap (_q70, _q71);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
								    if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
								    if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    {
				      tree _q60_pops[1];
				      if (gimple_nop_convert (_q60, _q60_pops, valueize))
				        {
					  tree _q70 = _q60_pops[0];
					  switch (TREE_CODE (_q70))
					    {
					    case SSA_NAME:
					      if (gimple *_d3 = get_def (valueize, _q70))
					        {
						  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						    switch (gimple_assign_rhs_code (_a3))
						      {
						      case BIT_IOR_EXPR:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a3);
							  _q80 = do_valueize (valueize, _q80);
							  tree _q81 = gimple_assign_rhs2 (_a3);
							  _q81 = do_valueize (valueize, _q81);
							  if (tree_swap_operands_p (_q80, _q81))
							    std::swap (_q80, _q81);
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
									if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
									if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
}
				    }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    {
		      tree _p1_pops[1];
		      if (gimple_nop_convert (_p1, _p1_pops, valueize))
		        {
			  tree _q60 = _p1_pops[0];
			  switch (TREE_CODE (_q60))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _q60))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case PLUS_EXPR:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a2);
					  _q70 = do_valueize (valueize, _q70);
					  tree _q71 = gimple_assign_rhs2 (_a2);
					  _q71 = do_valueize (valueize, _q71);
					  if (tree_swap_operands_p (_q70, _q71))
					    std::swap (_q70, _q71);
					  switch (TREE_CODE (_q70))
					    {
					    case SSA_NAME:
					      if (gimple *_d3 = get_def (valueize, _q70))
					        {
						  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						    switch (gimple_assign_rhs_code (_a3))
						      {
						      case BIT_IOR_EXPR:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a3);
							  _q80 = do_valueize (valueize, _q80);
							  tree _q81 = gimple_assign_rhs2 (_a3);
							  _q81 = do_valueize (valueize, _q81);
							  if (tree_swap_operands_p (_q80, _q81))
							    std::swap (_q80, _q81);
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
									if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
									if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					{
					  tree _q70_pops[1];
					  if (gimple_nop_convert (_q70, _q70_pops, valueize))
					    {
					      tree _q80 = _q70_pops[0];
					      switch (TREE_CODE (_q80))
					        {
						case SSA_NAME:
						  if (gimple *_d3 = get_def (valueize, _q80))
						    {
						      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						        switch (gimple_assign_rhs_code (_a3))
							  {
							  case BIT_IOR_EXPR:
							    {
							      tree _q90 = gimple_assign_rhs1 (_a3);
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = gimple_assign_rhs2 (_a3);
							      _q91 = do_valueize (valueize, _q91);
							      if (tree_swap_operands_p (_q90, _q91))
							        std::swap (_q90, _q91);
							      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
									    if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							        }
							      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q60 };
									    if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
}
					}
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
}
		    }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
  if (gimple_negate_expr_p (_p1, valueize))
    {
      {
/* #line 1747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (!FIXED_POINT_TYPE_P (type)
)
	  {
	    gimple_seq *lseq = seq;
	    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", 1748, __FILE__, __LINE__);
	    {
	      res_op->set_op (PLUS_EXPR, type, 2);
	      res_op->ops[0] = captures[0];
	      {
		tree _o1[1], _r1;
		_o1[0] = captures[1];
		gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		tem_op.resimplify (lseq, valueize);
		_r1 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r1) goto next_after_fail1335;
		res_op->ops[1] = _r1;
	      }
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1335:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
						    {
						      {
/* #line 2126 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p1, _q40, _q51, _q20 };
							if (gimple_simplify_99 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
						    {
						      {
/* #line 2126 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _q51, _p1, _q40, _q50, _q20 };
							if (gimple_simplify_99 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_AND_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
				    {
				      {
/* #line 2126 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p1, _p1, _q41, _q20 };
					if (gimple_simplify_316 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
				    {
				      {
/* #line 2126 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _p1, _q40, _q20 };
					if (gimple_simplify_316 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  {
/* #line 2542 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 2542 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
						      {
							{
/* #line 2543 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2544 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    if (ptr_difference_const (captures[0], captures[1], &diff)
)
							      {
								gimple_seq *lseq = seq;
								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", 2545, __FILE__, __LINE__);
								{
								  tree tem;
								  tem =  build_int_cst_type (type, diff);
								  res_op->set_value (tem);
								  return true;
								}
next_after_fail1336:;
							      }
							}
						      }
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					{
/* #line 2542 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 2542 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
					    {
					      {
/* #line 2543 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2544 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (ptr_difference_const (captures[0], captures[1], &diff)
)
						    {
						      gimple_seq *lseq = seq;
						      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", 2545, __FILE__, __LINE__);
						      {
							tree tem;
							tem =  build_int_cst_type (type, diff);
							res_op->set_value (tem);
							return true;
						      }
next_after_fail1337:;
						    }
					      }
					    }
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case ADDR_EXPR:
					        {
						  {
/* #line 2548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 2548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
						      {
							{
/* #line 2549 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2550 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    if (ptr_difference_const (captures[0], captures[1], &diff)
)
							      {
								gimple_seq *lseq = seq;
								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", 2551, __FILE__, __LINE__);
								{
								  tree tem;
								  tem =  build_int_cst_type (type, diff);
								  res_op->set_value (tem);
								  return true;
								}
next_after_fail1338:;
							      }
							}
						      }
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 2548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
/* #line 2548 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
)
					    {
					      {
/* #line 2549 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2550 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (ptr_difference_const (captures[0], captures[1], &diff)
)
						    {
						      gimple_seq *lseq = seq;
						      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", 2551, __FILE__, __LINE__);
						      {
							tree tem;
							tem =  build_int_cst_type (type, diff);
							res_op->set_value (tem);
							return true;
						      }
next_after_fail1339:;
						    }
					      }
					    }
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_onep (_p0))
  {
    switch (TREE_CODE (_p1))
      {
      case SSA_NAME:
        {
	  {
/* #line 1757 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1757 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	    if (INTEGRAL_TYPE_P (type)
 && ssa_name_has_boolean_range (captures[1])
)
	      {
		gimple_seq *lseq = seq;
		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", 1759, __FILE__, __LINE__);
		{
		  res_op->set_op (BIT_XOR_EXPR, type, 2);
		  res_op->ops[0] = captures[1];
		  res_op->ops[1] = captures[0];
		  res_op->resimplify (lseq, valueize);
		  return true;
		}
next_after_fail1340:;
	      }
	  }
          break;
        }
      default:;
      }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
				    {
				      {
/* #line 2126 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p1, _q30, _q41, _p0 };
					if (gimple_simplify_99 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
				    {
				      {
/* #line 2126 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _q41, _p1, _q30, _q40, _p0 };
					if (gimple_simplify_99 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
		    {
		      {
/* #line 2126 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _q30, _p1, _p1, _q31, _p0 };
			if (gimple_simplify_316 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
		    {
		      {
/* #line 2126 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p1, _q30, _p0 };
			if (gimple_simplify_316 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    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", 2299, __FILE__, __LINE__);
					    {
					      res_op->set_op (MINUS_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1341:;
					  }
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    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", 2299, __FILE__, __LINE__);
					    {
					      res_op->set_op (MINUS_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1342:;
					  }
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    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", 2299, __FILE__, __LINE__);
					    {
					      res_op->set_op (MINUS_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1343:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    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", 2299, __FILE__, __LINE__);
					    {
					      res_op->set_op (MINUS_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1344:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    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", 2315, __FILE__, __LINE__);
					    {
					      res_op->set_op (MINUS_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1345:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    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", 2342, __FILE__, __LINE__);
					    {
					      res_op->set_op (MINUS_EXPR, type, 2);
					      res_op->ops[0] = captures[2];
					      res_op->ops[1] = captures[1];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1346:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_DIFF_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2324 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
/* #line 2324 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[2]))
)
					  {
					    gimple_seq *lseq = seq;
					    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", 2326, __FILE__, __LINE__);
					    {
					      res_op->set_op (POINTER_DIFF_EXPR, type, 2);
					      res_op->ops[0] = captures[1];
					      res_op->ops[1] = captures[3];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1347:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2351 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
/* #line 2351 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
 && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
)
					  {
					    gimple_seq *lseq = seq;
					    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", 2353, __FILE__, __LINE__);
					    {
					      res_op->set_op (POINTER_DIFF_EXPR, type, 2);
					      res_op->ops[0] = captures[3];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1348:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
				    if (gimple_simplify_506 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    if (gimple_simplify_506 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
			      if (gimple_simplify_214 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
			      if (gimple_simplify_214 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			  }
}
		  }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_214 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_214 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
			      if (gimple_simplify_334 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			  }
}
		  }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_334 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_nop_convert (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q20))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case PLUS_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      if (tree_swap_operands_p (_q30, _q31))
		        std::swap (_q30, _q31);
		      {
			tree _q30_pops[1];
			if (gimple_nop_convert (_q30, _q30_pops, valueize))
			  {
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
				  if (gimple_simplify_214 (res_op, seq, valueize, type, captures))
				    return true;
				}
			      }
}
		      }
		      {
			tree _q31_pops[1];
			if (gimple_nop_convert (_q31, _q31_pops, valueize))
			  {
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
				  if (gimple_simplify_214 (res_op, seq, valueize, type, captures))
				    return true;
				}
			      }
}
		      }
		      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			    if (gimple_simplify_214 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		      if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
			    if (gimple_simplify_214 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		      break;
		    }
		  case MINUS_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      {
			tree _q30_pops[1];
			if (gimple_nop_convert (_q30, _q30_pops, valueize))
			  {
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q31 };
				  if (gimple_simplify_334 (res_op, seq, valueize, type, captures))
				    return true;
				}
			      }
}
		      }
		      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
			    if (gimple_simplify_334 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  {
		    tree _q30_pops[1];
		    if (gimple_nop_convert (_q30, _q30_pops, valueize))
		      {
			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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			      if (gimple_simplify_302 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			  }
}
		  }
		  {
		    tree _q31_pops[1];
		    if (gimple_nop_convert (_q31, _q31_pops, valueize))
		      {
			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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			      if (gimple_simplify_302 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			  }
}
		  }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_302 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_302 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
		    tree _q30_pops[1];
		    if (gimple_nop_convert (_q30, _q30_pops, valueize))
		      {
			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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			      if (gimple_simplify_436 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			  }
}
		  }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_436 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p1_pops[1];
  if (gimple_nop_convert (_p1, _p1_pops, valueize))
    {
      tree _q30 = _p1_pops[0];
      switch (TREE_CODE (_q30))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q30))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case PLUS_EXPR:
		    {
		      tree _q40 = gimple_assign_rhs1 (_a1);
		      _q40 = do_valueize (valueize, _q40);
		      tree _q41 = gimple_assign_rhs2 (_a1);
		      _q41 = do_valueize (valueize, _q41);
		      if (tree_swap_operands_p (_q40, _q41))
		        std::swap (_q40, _q41);
		      {
			tree _q40_pops[1];
			if (gimple_nop_convert (_q40, _q40_pops, valueize))
			  {
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
				  if (gimple_simplify_302 (res_op, seq, valueize, type, captures))
				    return true;
				}
			      }
}
		      }
		      {
			tree _q41_pops[1];
			if (gimple_nop_convert (_q41, _q41_pops, valueize))
			  {
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
				  if (gimple_simplify_302 (res_op, seq, valueize, type, captures))
				    return true;
				}
			      }
}
		      }
		      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
			    if (gimple_simplify_302 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		      if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
			    if (gimple_simplify_302 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		      break;
		    }
		  case MINUS_EXPR:
		    {
		      tree _q40 = gimple_assign_rhs1 (_a1);
		      _q40 = do_valueize (valueize, _q40);
		      tree _q41 = gimple_assign_rhs2 (_a1);
		      _q41 = do_valueize (valueize, _q41);
		      {
			tree _q40_pops[1];
			if (gimple_nop_convert (_q40, _q40_pops, valueize))
			  {
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
				  if (gimple_simplify_436 (res_op, seq, valueize, type, captures))
				    return true;
				}
			      }
}
		      }
		      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
			    if (gimple_simplify_436 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_266 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_266 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if (CONSTANT_CLASS_P (_q21))
		    {
		      if (CONSTANT_CLASS_P (_p1))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_472 (res_op, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, MINUS_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (CONSTANT_CLASS_P (_q21))
		    {
		      if (CONSTANT_CLASS_P (_p1))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_472 (res_op, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, MINUS_EXPR))
			      return true;
			  }
		        }
		    }
		  if (CONSTANT_CLASS_P (_q20))
		    {
		      if (CONSTANT_CLASS_P (_p1))
			{
			  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_164 (res_op, seq, valueize, type, captures, MINUS_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_403 (res_op, seq, valueize, type, captures, MINUS_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  if (integer_each_onep (_p1))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
					if (gimple_simplify_107 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
						    {
						      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
							if (gimple_simplify_519 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
						    {
						      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
							if (gimple_simplify_519 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
					if (gimple_simplify_519 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _q31 };
					if (gimple_simplify_519 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
						    {
						      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q30 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							if (!TYPE_SATURATING (type)
)
							  {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
							      {
/* #line 3125 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
								  {
								    gimple_seq *lseq = seq;
								    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", 3133, __FILE__, __LINE__);
								    {
								      res_op->set_op (NOP_EXPR, type, 1);
								      res_op->ops[0] = captures[1];
								      res_op->resimplify (lseq, valueize);
								      return true;
								    }
next_after_fail1349:;
								  }
							      }
							  }
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case PLUS_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
						    {
						      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
							if (gimple_simplify_288 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
						    {
						      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q51, _q50, _q20 };
							if (gimple_simplify_288 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (integer_each_onep (_p1))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_107 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_nop_convert (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q20))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case PLUS_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      if (tree_swap_operands_p (_q30, _q31))
		        std::swap (_q30, _q31);
		      if (CONSTANT_CLASS_P (_q31))
			{
			  if (CONSTANT_CLASS_P (_p1))
			    {
			      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				if (gimple_simplify_472 (res_op, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, MINUS_EXPR))
				  return true;
			      }
			    }
		        }
		      break;
		    }
		  case MINUS_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      if (CONSTANT_CLASS_P (_q31))
			{
			  if (CONSTANT_CLASS_P (_p1))
			    {
			      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				if (gimple_simplify_472 (res_op, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, MINUS_EXPR))
				  return true;
			      }
			    }
		        }
		      if (CONSTANT_CLASS_P (_q30))
			{
			  if (CONSTANT_CLASS_P (_p1))
			    {
			      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
				if (gimple_simplify_164 (res_op, seq, valueize, type, captures, MINUS_EXPR))
				  return true;
			      }
			    }
		        }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
if (CONSTANT_CLASS_P (_p0))
  {
    switch (TREE_CODE (_p1))
      {
      case SSA_NAME:
        if (gimple *_d1 = get_def (valueize, _p1))
          {
	    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	      switch (gimple_assign_rhs_code (_a1))
		{
		case MINUS_EXPR:
		  {
		    tree _q30 = gimple_assign_rhs1 (_a1);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_assign_rhs2 (_a1);
		    _q31 = do_valueize (valueize, _q31);
		    if (CONSTANT_CLASS_P (_q30))
		      {
			{
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
			  if (gimple_simplify_184 (res_op, seq, valueize, type, captures))
			    return true;
			}
		      }
		    break;
		  }
		default:;
		}
          }
        break;
      default:;
      }
  {
    tree _p1_pops[1];
    if (gimple_nop_convert (_p1, _p1_pops, valueize))
      {
	tree _q30 = _p1_pops[0];
	switch (TREE_CODE (_q30))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _q30))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    case MINUS_EXPR:
		      {
			tree _q40 = gimple_assign_rhs1 (_a1);
			_q40 = do_valueize (valueize, _q40);
			tree _q41 = gimple_assign_rhs2 (_a1);
			_q41 = do_valueize (valueize, _q41);
			if (CONSTANT_CLASS_P (_q40))
			  {
			    {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
			      if (gimple_simplify_184 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
          default:;
          }
}
  }
  }
if (integer_all_onesp (_p0))
  {
    {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!TYPE_SATURATING (type)
)
	{
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
	    {
/* #line 3104 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (TREE_CODE (type) != COMPLEX_TYPE
)
		{
		  gimple_seq *lseq = seq;
		  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", 3105, __FILE__, __LINE__);
		  {
		    res_op->set_op (BIT_NOT_EXPR, type, 1);
		    res_op->ops[0] = captures[0];
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1350:;
		}
	    }
	}
    }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _p0 };
					if (gimple_simplify_288 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q41, _q40, _p0 };
					if (gimple_simplify_288 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case POINTER_PLUS_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
						    {
						      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							if (!TYPE_SATURATING (type)
)
							  {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
							      {
/* #line 3167 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
									gimple_seq *lseq = seq;
									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", 3171, __FILE__, __LINE__);
									{
									  res_op->set_op (NOP_EXPR, type, 1);
									  {
									    tree _o1[1], _r1;
									    {
									      tree _o2[1], _r2;
									      _o2[0] = captures[1];
									      if (utype != TREE_TYPE (_o2[0])
									          && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
										{
										  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
										  tem_op.resimplify (lseq, valueize);
										  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
										  if (!_r2) goto next_after_fail1351;
									        }
									      else
									        _r2 = _o2[0];
									      _o1[0] = _r2;
									    }
									    gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
									    tem_op.resimplify (lseq, valueize);
									    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
									    if (!_r1) goto next_after_fail1351;
									    res_op->ops[0] = _r1;
									  }
									  res_op->resimplify (lseq, valueize);
									  return true;
									}
next_after_fail1351:;
								    }
								  }
								else
								  {
/* #line 3172 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
								      {
									gimple_seq *lseq = seq;
									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", 3180, __FILE__, __LINE__);
									{
									  res_op->set_op (NEGATE_EXPR, type, 1);
									  {
									    tree _o1[1], _r1;
									    _o1[0] = captures[1];
									    if (type != TREE_TYPE (_o1[0])
									        && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
									      {
										gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
										tem_op.resimplify (lseq, valueize);
										_r1 = maybe_push_res_to_seq (&tem_op, lseq);
										if (!_r1) goto next_after_fail1352;
									      }
									    else
									      _r1 = _o1[0];
									    res_op->ops[0] = _r1;
									  }
									  res_op->resimplify (lseq, valueize);
									  return true;
									}
next_after_fail1352:;
								      }
								  }
							      }
							  }
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case PLUS_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if (tree_swap_operands_p (_q70, _q71))
								    std::swap (_q70, _q71);
								  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
								    {
								      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
									if (gimple_simplify_73 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
								    {
								      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
									if (gimple_simplify_73 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
								    {
								      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
									if (gimple_simplify_73 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
								  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
								    {
								      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
									if (gimple_simplify_73 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case POINTER_PLUS_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
								    {
								      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									if (!TYPE_SATURATING (type)
)
									  {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
									      {
/* #line 3219 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
											gimple_seq *lseq = seq;
											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", 3223, __FILE__, __LINE__);
											{
											  res_op->set_op (NOP_EXPR, type, 1);
											  {
											    tree _o1[2], _r1;
											    {
											      tree _o2[1], _r2;
											      _o2[0] = captures[1];
											      if (utype != TREE_TYPE (_o2[0])
											          && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
												{
												  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
												  tem_op.resimplify (lseq, valueize);
												  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
												  if (!_r2) goto next_after_fail1353;
											        }
											      else
											        _r2 = _o2[0];
											      _o1[0] = _r2;
											    }
											    {
											      tree _o2[1], _r2;
											      _o2[0] = captures[2];
											      if (utype != TREE_TYPE (_o2[0])
											          && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
												{
												  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
												  tem_op.resimplify (lseq, valueize);
												  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
												  if (!_r2) goto next_after_fail1353;
											        }
											      else
											        _r2 = _o2[0];
											      _o1[1] = _r2;
											    }
											    gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
											    tem_op.resimplify (lseq, valueize);
											    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
											    if (!_r1) goto next_after_fail1353;
											    res_op->ops[0] = _r1;
											  }
											  res_op->resimplify (lseq, valueize);
											  return true;
											}
next_after_fail1353:;
										    }
										  }
										else
										  {
/* #line 3224 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
										      {
											gimple_seq *lseq = seq;
											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", 3234, __FILE__, __LINE__);
											{
											  res_op->set_op (MINUS_EXPR, type, 2);
											  {
											    tree _o1[1], _r1;
											    _o1[0] = captures[1];
											    if (type != TREE_TYPE (_o1[0])
											        && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
											      {
												gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
												tem_op.resimplify (lseq, valueize);
												_r1 = maybe_push_res_to_seq (&tem_op, lseq);
												if (!_r1) goto next_after_fail1354;
											      }
											    else
											      _r1 = _o1[0];
											    res_op->ops[0] = _r1;
											  }
											  {
											    tree _o1[1], _r1;
											    _o1[0] = captures[2];
											    if (type != TREE_TYPE (_o1[0])
											        && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
											      {
												gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
												tem_op.resimplify (lseq, valueize);
												_r1 = maybe_push_res_to_seq (&tem_op, lseq);
												if (!_r1) goto next_after_fail1354;
											      }
											    else
											      _r1 = _o1[0];
											    res_op->ops[1] = _r1;
											  }
											  res_op->resimplify (lseq, valueize);
											  return true;
											}
next_after_fail1354:;
										      }
										  }
									      }
									  }
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_113 (res_op, seq, valueize, type, captures, MINUS_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_113 (res_op, seq, valueize, type, captures, MINUS_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_113 (res_op, seq, valueize, type, captures, MINUS_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_113 (res_op, seq, valueize, type, captures, MINUS_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_183 (res_op, seq, valueize, type, captures, MINUS_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
			if (gimple_simplify_183 (res_op, seq, valueize, type, captures, MINUS_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_477 (res_op, seq, valueize, type, captures, MINUS_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 3251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_477 (res_op, seq, valueize, type, captures, MINUS_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      if (gimple_zero_one_valued_p (_q31, valueize))
					{
					  {
/* #line 3619 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
					    if (gimple_simplify_177 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (gimple_zero_one_valued_p (_q30, valueize))
		  {
		    switch (TREE_CODE (_q31))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q31))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case MINUS_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
				      {
					{
/* #line 3619 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q51, _q30 };
					  if (gimple_simplify_177 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    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", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1355;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1355;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1355:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			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", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1356;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1356;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1356:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_zerop (_p0))
  {
    {
/* #line 4275 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
      gimple_seq *lseq = seq;
      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", 4275, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	res_op->ops[0] = captures[0];
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1357:;
    }
  }
if (real_zerop (_p0))
  {
    {
/* #line 4285 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 4285 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (fold_real_zero_addition_p (type, captures[1], captures[0], 0)
)
	{
	  gimple_seq *lseq = seq;
	  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", 4286, __FILE__, __LINE__);
	  {
	    res_op->set_op (NEGATE_EXPR, type, 1);
	    res_op->ops[0] = captures[1];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1358:;
	}
    }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			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", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1359;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1359;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1359:;
		      }
		  }
		  if (integer_each_onep (_q31))
		    {
		      if (integer_zerop (_q32))
			{
			  {
/* #line 5076 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
			    if (gimple_simplify_418 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q30) == SSA_NAME
		       || is_gimple_min_invariant (_q30)))
		    {
		      _q30 = do_valueize (valueize, _q30);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case VEC_COND_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      tree _q42 = gimple_assign_rhs3 (_a2);
				      _q42 = do_valueize (valueize, _q42);
				      if (integer_each_onep (_q41))
					{
					  if (integer_zerop (_q42))
					    {
					      {
/* #line 5076 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42 };
						if (gimple_simplify_418 (res_op, seq, valueize, type, captures))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case RDIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case RDIV_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_485 (res_op, seq, valueize, type, captures, MINUS_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case VEC_PERM_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (gimple_vec_same_elem_p (_q31, valueize))
				    {
				      if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
					{
					  {
/* #line 8368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q22, _p1 };
					    if (gimple_simplify_244 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  if (gimple_vec_same_elem_p (_q30, valueize))
				    {
				      if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
					{
					  {
/* #line 8368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q22, _p1 };
					    if (gimple_simplify_244 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MAX_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  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 8461 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q41, _q31 };
						    {
/* #line 8461 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 auto i = wi::neg (wi::to_wide (captures[2]));
/* #line 8463 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							if (wi::popcount (i) == 1
 && (wi::to_wide (captures[1])) == (i - 1)
)
							  {
/* #line 8465 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
							      {
								gimple_seq *lseq = seq;
								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", 8466, __FILE__, __LINE__);
								{
								  res_op->set_op (BIT_AND_EXPR, type, 2);
								  res_op->ops[0] = captures[0];
								  res_op->ops[1] = captures[1];
								  res_op->resimplify (lseq, valueize);
								  return true;
								}
next_after_fail1360:;
							      }
							    else
							      {
								gimple_seq *lseq = seq;
								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", 8467, __FILE__, __LINE__);
								{
								  res_op->set_op (COND_EXPR, type, 3);
								  {
								    tree _o1[2], _r1;
								    _o1[0] = captures[0];
								    _o1[1] = captures[1];
								    gimple_match_op tem_op (res_op->cond.any_else (), LE_EXPR, boolean_type_node, _o1[0], _o1[1]);
								    tem_op.resimplify (lseq, valueize);
								    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
								    if (!_r1) goto next_after_fail1361;
								    res_op->ops[0] = _r1;
								  }
								  res_op->ops[1] = captures[0];
								  {
								    tree _o1[2], _r1;
								    _o1[0] = captures[0];
								    _o1[1] = captures[1];
								    gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
								    tem_op.resimplify (lseq, valueize);
								    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
								    if (!_r1) goto next_after_fail1361;
								    res_op->ops[2] = _r1;
								  }
								  res_op->resimplify (lseq, valueize);
								  return true;
								}
next_after_fail1361:;
							      }
							  }
						    }
						  }
					          break;
					        }
					      default:;
					      }
					    break;
					  }
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case VEC_PERM_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      tree _q61 = gimple_assign_rhs2 (_a2);
				      _q61 = do_valueize (valueize, _q61);
				      tree _q62 = gimple_assign_rhs3 (_a2);
				      _q62 = do_valueize (valueize, _q62);
				      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 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (VECTOR_INTEGER_TYPE_P (type)
)
						  {
						    gimple_seq *lseq = seq;
						    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", 8488, __FILE__, __LINE__);
						    {
						      res_op->set_op (VEC_PERM_EXPR, type, 3);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[2];
							gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1362;
							captures[3] = _r1;
						      }
						      res_op->ops[0] = captures[3];
						      res_op->ops[1] = captures[3];
						      res_op->ops[2] = captures[1];
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1362:;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_q22))
		        {
			case VECTOR_CST:
			  {
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p1))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					case VEC_PERM_EXPR:
					  {
					    tree _q60 = gimple_assign_rhs1 (_a2);
					    _q60 = do_valueize (valueize, _q60);
					    tree _q61 = gimple_assign_rhs2 (_a2);
					    _q61 = do_valueize (valueize, _q61);
					    tree _q62 = gimple_assign_rhs3 (_a2);
					    _q62 = do_valueize (valueize, _q62);
					    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 8495 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
							    if (gimple_simplify_227 (res_op, seq, valueize, type, captures, MINUS_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						  }
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_BIT_IOR_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_zerop (_p1))
    {
      {
/* #line 182 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	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", 182, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1363:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 1027 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_323 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case RSHIFT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 1031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_460 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case NE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 1118 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_174 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
		  if (integer_all_onesp (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case NE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      if (integer_all_onesp (_q51))
					{
					  {
/* #line 1127 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_473 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
									    if (gimple_simplify_422 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
						    {
						      switch (TREE_CODE (_q61))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q61))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
									{
									  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
									    if (gimple_simplify_422 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
									    if (gimple_simplify_422 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      switch (TREE_CODE (_q61))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q61))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
									{
									  {
/* #line 1150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q30 };
									    if (gimple_simplify_422 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
									      return true;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_q21))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case BIT_AND_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (tree_swap_operands_p (_q60, _q61))
							  std::swap (_q60, _q61);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q61, _q21 };
								    if (gimple_simplify_279 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case BIT_AND_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					switch (TREE_CODE (_q50))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q50))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case BIT_NOT_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
								    if (gimple_simplify_279 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 1159 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_372 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 1159 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_372 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_NOT_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 1164 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
							    if (gimple_simplify_106 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_NOT_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 1164 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
							    if (gimple_simplify_106 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
							    if (gimple_simplify_106 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
							    if (gimple_simplify_106 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_XOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 1159 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_372 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 1159 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_372 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_XOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
							    if (gimple_simplify_329 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
							    if (gimple_simplify_329 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_XOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
							    if (gimple_simplify_329 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
							    if (gimple_simplify_329 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      {
/* #line 1184 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q41 };
					if (gimple_simplify_435 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
				    {
				      {
/* #line 1184 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
					if (gimple_simplify_435 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
				    {
				      {
/* #line 1184 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q31 };
					if (gimple_simplify_435 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
				    {
				      {
/* #line 1184 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
					if (gimple_simplify_435 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
							    if (gimple_simplify_80 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
							    if (gimple_simplify_80 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_507 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_448 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					      return true;
					  }
				        }
				    }
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_448 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_448 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
					      return true;
					  }
				        }
				    }
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_448 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
					if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
					if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
		    {
		      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
			if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
		    {
		      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
			if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
					    if (gimple_simplify_474 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					      return true;
					  }
				        }
				    }
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
					    if (gimple_simplify_474 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case BIT_NOT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_XOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
							    if (gimple_simplify_278 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
							    if (gimple_simplify_278 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
					    if (gimple_simplify_474 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
					      return true;
					  }
				        }
				    }
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
					    if (gimple_simplify_474 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_XOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q61 };
							    if (gimple_simplify_400 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q60 };
							    if (gimple_simplify_400 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q61 };
							    if (gimple_simplify_400 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q60 };
							    if (gimple_simplify_400 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_XOR_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      if (tree_swap_operands_p (_q70, _q71))
						        std::swap (_q70, _q71);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 1215 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q71 };
							    if (gimple_simplify_400 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
							{
							  {
/* #line 1215 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q70 };
							    if (gimple_simplify_400 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_XOR_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      if (tree_swap_operands_p (_q70, _q71))
						        std::swap (_q70, _q71);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 1215 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q71 };
							    if (gimple_simplify_400 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
							{
							  {
/* #line 1215 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q70 };
							    if (gimple_simplify_400 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_XOR_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
							    if (gimple_simplify_450 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
							{
							  {
/* #line 1215 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
							    if (gimple_simplify_450 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
							    if (gimple_simplify_450 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
							    if (gimple_simplify_450 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_XOR_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
							    if (gimple_simplify_450 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
							{
							  {
/* #line 1215 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
							    if (gimple_simplify_450 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
							    if (gimple_simplify_450 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
							    if (gimple_simplify_450 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_all_onesp (_p1))
    {
      {
/* #line 1303 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	gimple_seq *lseq = seq;
	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", 1303, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[1];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1364:;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 1308 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	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", 1308, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1365:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
						    {
						      {
/* #line 1320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
							if (gimple_simplify_507 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
						    {
						      {
/* #line 1320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
							if (gimple_simplify_507 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  switch (TREE_CODE (_q50))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q50))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q60 = gimple_assign_rhs1 (_a4);
								  _q60 = do_valueize (valueize, _q60);
								  {
/* #line 1559 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
								    if (gimple_simplify_528 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case BIT_NOT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 1559 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
						    if (gimple_simplify_528 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if (tree_swap_operands_p (_q70, _q71))
								    std::swap (_q70, _q71);
								  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
								    {
								      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
									if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
									  return true;
								      }
								    }
								  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
								    {
								      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
									if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
									  return true;
								      }
								    }
								  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
								    {
								      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
									if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
									  return true;
								      }
								    }
								  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
								    {
								      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
									if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
						    {
						      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
							if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
						    {
						      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
							if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
					if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
					if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
						    {
						      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
							if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
						    {
						      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
							if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
					if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
					if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 1320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_507 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      {
/* #line 1417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
					if (gimple_simplify_17 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
				    {
				      {
/* #line 1417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
					if (gimple_simplify_17 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_513 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
				    {
				      {
/* #line 1417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
					if (gimple_simplify_17 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
				    {
				      {
/* #line 1417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
					if (gimple_simplify_17 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q30, _q31 };
									    if (gimple_simplify_10 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q31, _q30 };
									    if (gimple_simplify_10 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
						    {
						      switch (TREE_CODE (_q61))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q61))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
									{
									  {
/* #line 1422 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q30, _q31 };
									    if (gimple_simplify_10 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      switch (TREE_CODE (_q61))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q61))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
									{
									  {
/* #line 1422 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q31, _q30 };
									    if (gimple_simplify_10 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
							    if (gimple_simplify_22 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      case BIT_XOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
							    if (gimple_simplify_26 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
				    {
				      {
/* #line 1450 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _p0 };
					if (gimple_simplify_28 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
				    {
				      {
/* #line 1450 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p0 };
					if (gimple_simplify_28 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 1559 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
						    if (gimple_simplify_528 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1559 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_528 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_IOR_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if (tree_swap_operands_p (_q70, _q71))
								    std::swap (_q70, _q71);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
									    if (gimple_simplify_217 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
									    if (gimple_simplify_217 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_IOR_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if (tree_swap_operands_p (_q70, _q71))
								    std::swap (_q70, _q71);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
									    if (gimple_simplify_217 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
									    if (gimple_simplify_217 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
							    if (gimple_simplify_22 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
					if (gimple_simplify_249 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 1450 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
					if (gimple_simplify_249 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
				    {
				      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
					if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
				    {
				      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
					if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
				    {
				      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
					if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
				    {
				      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
					if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
							    if (gimple_simplify_26 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
					if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
					if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
		    {
		      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
			if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
		    {
		      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
			if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_IOR_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if (tree_swap_operands_p (_q70, _q71))
								    std::swap (_q70, _q71);
								  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
								    {
								      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
									if (gimple_simplify_24 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
									  return true;
								      }
								    }
								  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
								    {
								      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
									if (gimple_simplify_24 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
									  return true;
								      }
								    }
								  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
								    {
								      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
									if (gimple_simplify_24 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
									  return true;
								      }
								    }
								  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
								    {
								      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
									if (gimple_simplify_24 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
							if (gimple_simplify_465 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
							if (gimple_simplify_465 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
							if (gimple_simplify_465 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
							if (gimple_simplify_465 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1802 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_407 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 1802 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
		      return true;
		  }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
							if (gimple_simplify_311 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
							if (gimple_simplify_311 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
							if (gimple_simplify_311 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
						  if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
							if (gimple_simplify_311 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
					if (gimple_simplify_220 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
					if (gimple_simplify_220 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
					if (gimple_simplify_220 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
					if (gimple_simplify_220 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 1856 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_348 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 1856 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_348 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
				    {
				      {
/* #line 1861 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
					if (gimple_simplify_241 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
				    {
				      {
/* #line 1861 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
					if (gimple_simplify_241 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
				    {
				      {
/* #line 1866 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21 };
					if (gimple_simplify_511 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
				    {
				      {
/* #line 1866 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _q21 };
					if (gimple_simplify_511 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
				    {
				      {
/* #line 1866 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20 };
					if (gimple_simplify_511 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_p1 == _q41 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q41, 0) && types_match (_p1, _q41)))
				    {
				      {
/* #line 1866 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q41, _q40, _q20 };
					if (gimple_simplify_511 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case LT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case EQ_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case NE_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if (tree_swap_operands_p (_q100, _q101))
												    std::swap (_q100, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case NE_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  if (tree_swap_operands_p (_q110, _q111))
												    std::swap (_q110, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case NE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case EQ_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if (tree_swap_operands_p (_q100, _q101))
												    std::swap (_q100, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case EQ_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  if (tree_swap_operands_p (_q110, _q111))
												    std::swap (_q110, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case GE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case GT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNORDERED_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case ORDERED_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if (tree_swap_operands_p (_q100, _q101))
												    std::swap (_q100, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case ORDERED_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  if (tree_swap_operands_p (_q110, _q111))
												    std::swap (_q110, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case ORDERED_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNORDERED_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if (tree_swap_operands_p (_q100, _q101))
												    std::swap (_q100, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNORDERED_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  if (tree_swap_operands_p (_q110, _q111))
												    std::swap (_q110, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNLT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNLE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNGT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNGE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNEQ_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LTGT_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if (tree_swap_operands_p (_q100, _q101))
												    std::swap (_q100, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LTGT_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  if (tree_swap_operands_p (_q110, _q111))
												    std::swap (_q110, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LTGT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNEQ_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if (tree_swap_operands_p (_q100, _q101))
												    std::swap (_q100, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNEQ_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  if (tree_swap_operands_p (_q110, _q111))
												    std::swap (_q110, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case LT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case EQ_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case NE_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if (tree_swap_operands_p (_q100, _q101))
												    std::swap (_q100, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case NE_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  if (tree_swap_operands_p (_q110, _q111))
												    std::swap (_q110, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case NE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case EQ_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if (tree_swap_operands_p (_q100, _q101))
												    std::swap (_q100, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case EQ_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  if (tree_swap_operands_p (_q110, _q111))
												    std::swap (_q110, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case GE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case GT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNORDERED_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case ORDERED_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if (tree_swap_operands_p (_q100, _q101))
												    std::swap (_q100, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case ORDERED_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  if (tree_swap_operands_p (_q110, _q111))
												    std::swap (_q110, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case ORDERED_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNORDERED_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if (tree_swap_operands_p (_q100, _q101))
												    std::swap (_q100, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNORDERED_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  if (tree_swap_operands_p (_q110, _q111))
												    std::swap (_q110, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNLT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNLE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNGT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNGE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNEQ_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LTGT_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if (tree_swap_operands_p (_q100, _q101))
												    std::swap (_q100, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LTGT_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  if (tree_swap_operands_p (_q110, _q111))
												    std::swap (_q110, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LTGT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  switch (TREE_CODE (_q80))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q80))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q90 = gimple_assign_rhs1 (_a5);
										  _q90 = do_valueize (valueize, _q90);
										  switch (TREE_CODE (_q90))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q90))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNEQ_EXPR:
											        {
												  tree _q100 = gimple_assign_rhs1 (_a6);
												  _q100 = do_valueize (valueize, _q100);
												  tree _q101 = gimple_assign_rhs2 (_a6);
												  _q101 = do_valueize (valueize, _q101);
												  if (tree_swap_operands_p (_q100, _q101))
												    std::swap (_q100, _q101);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q81))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q81))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      CASE_CONVERT:
									        {
										  tree _q100 = gimple_assign_rhs1 (_a5);
										  _q100 = do_valueize (valueize, _q100);
										  switch (TREE_CODE (_q100))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q100))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNEQ_EXPR:
											        {
												  tree _q110 = gimple_assign_rhs1 (_a6);
												  _q110 = do_valueize (valueize, _q110);
												  tree _q111 = gimple_assign_rhs2 (_a6);
												  _q111 = do_valueize (valueize, _q111);
												  if (tree_swap_operands_p (_q110, _q111))
												    std::swap (_q110, _q111);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
													    tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
													    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
													      return true;
													  }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GE_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GE_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GT_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GT_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case EQ_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case NE_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case NE_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case NE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case EQ_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case EQ_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LT_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LT_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case GT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LE_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LE_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case UNORDERED_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ORDERED_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ORDERED_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case ORDERED_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case UNORDERED_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case UNORDERED_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case UNLT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GE_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GE_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case UNLE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GT_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GT_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case UNGT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LE_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LE_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case UNGE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LT_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LT_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case UNEQ_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LTGT_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LTGT_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case LTGT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case UNEQ_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case UNEQ_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GE_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GE_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GT_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GT_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case EQ_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case NE_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case NE_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case NE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case EQ_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case EQ_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LT_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LT_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case GT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LE_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LE_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case UNORDERED_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ORDERED_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ORDERED_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case ORDERED_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case UNORDERED_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case UNORDERED_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case UNLT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GE_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GE_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case UNLE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GT_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case GT_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case UNGT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LE_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LE_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case UNGE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LT_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LT_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case UNEQ_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LTGT_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LTGT_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case LTGT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  switch (TREE_CODE (_q70))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q70))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case UNEQ_EXPR:
							        {
								  tree _q80 = gimple_assign_rhs1 (_a4);
								  _q80 = do_valueize (valueize, _q80);
								  tree _q81 = gimple_assign_rhs2 (_a4);
								  _q81 = do_valueize (valueize, _q81);
								  if (tree_swap_operands_p (_q80, _q81))
								    std::swap (_q80, _q81);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  switch (TREE_CODE (_q71))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q71))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case UNEQ_EXPR:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a4);
								  _q90 = do_valueize (valueize, _q90);
								  tree _q91 = gimple_assign_rhs2 (_a4);
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
									    if (gimple_simplify_194 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  tree _q32 = gimple_assign_rhs3 (_a2);
				  _q32 = do_valueize (valueize, _q32);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case LT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case EQ_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case NE_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  if (tree_swap_operands_p (_q120, _q121))
												    std::swap (_q120, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case NE_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  if (tree_swap_operands_p (_q130, _q131))
												    std::swap (_q130, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case NE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case EQ_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  if (tree_swap_operands_p (_q120, _q121))
												    std::swap (_q120, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case EQ_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  if (tree_swap_operands_p (_q130, _q131))
												    std::swap (_q130, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case GE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case GT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNORDERED_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case ORDERED_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  if (tree_swap_operands_p (_q120, _q121))
												    std::swap (_q120, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case ORDERED_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  if (tree_swap_operands_p (_q130, _q131))
												    std::swap (_q130, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case ORDERED_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNORDERED_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  if (tree_swap_operands_p (_q120, _q121))
												    std::swap (_q120, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNORDERED_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  if (tree_swap_operands_p (_q130, _q131))
												    std::swap (_q130, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNLT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNLE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNGT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNGE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNEQ_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LTGT_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  if (tree_swap_operands_p (_q120, _q121))
												    std::swap (_q120, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LTGT_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  if (tree_swap_operands_p (_q130, _q131))
												    std::swap (_q130, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LTGT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNEQ_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  if (tree_swap_operands_p (_q120, _q121))
												    std::swap (_q120, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNEQ_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  if (tree_swap_operands_p (_q130, _q131))
												    std::swap (_q130, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  tree _q42 = gimple_assign_rhs3 (_a2);
				  _q42 = do_valueize (valueize, _q42);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case LT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case EQ_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case NE_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  if (tree_swap_operands_p (_q120, _q121))
												    std::swap (_q120, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case NE_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  if (tree_swap_operands_p (_q130, _q131))
												    std::swap (_q130, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case NE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case EQ_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  if (tree_swap_operands_p (_q120, _q121))
												    std::swap (_q120, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case EQ_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  if (tree_swap_operands_p (_q130, _q131))
												    std::swap (_q130, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case GE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case GT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNORDERED_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case ORDERED_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  if (tree_swap_operands_p (_q120, _q121))
												    std::swap (_q120, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case ORDERED_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  if (tree_swap_operands_p (_q130, _q131))
												    std::swap (_q130, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case ORDERED_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNORDERED_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  if (tree_swap_operands_p (_q120, _q121))
												    std::swap (_q120, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNORDERED_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  if (tree_swap_operands_p (_q130, _q131))
												    std::swap (_q130, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNLT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GE_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNLE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case GT_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNGT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LE_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNGE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LT_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case UNEQ_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LTGT_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  if (tree_swap_operands_p (_q120, _q121))
												    std::swap (_q120, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case LTGT_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  if (tree_swap_operands_p (_q130, _q131))
												    std::swap (_q130, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LTGT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_p1))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _p1))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q100 = gimple_assign_rhs1 (_a4);
								  _q100 = do_valueize (valueize, _q100);
								  tree _q101 = gimple_assign_rhs2 (_a4);
								  _q101 = do_valueize (valueize, _q101);
								  if (tree_swap_operands_p (_q100, _q101))
								    std::swap (_q100, _q101);
								  switch (TREE_CODE (_q100))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q100))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q110 = gimple_assign_rhs1 (_a5);
										  _q110 = do_valueize (valueize, _q110);
										  tree _q111 = gimple_assign_rhs2 (_a5);
										  _q111 = do_valueize (valueize, _q111);
										  tree _q112 = gimple_assign_rhs3 (_a5);
										  _q112 = do_valueize (valueize, _q112);
										  switch (TREE_CODE (_q110))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q110))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNEQ_EXPR:
											        {
												  tree _q120 = gimple_assign_rhs1 (_a6);
												  _q120 = do_valueize (valueize, _q120);
												  tree _q121 = gimple_assign_rhs2 (_a6);
												  _q121 = do_valueize (valueize, _q121);
												  if (tree_swap_operands_p (_q120, _q121))
												    std::swap (_q120, _q121);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
								  switch (TREE_CODE (_q101))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q101))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case VEC_COND_EXPR:
									        {
										  tree _q120 = gimple_assign_rhs1 (_a5);
										  _q120 = do_valueize (valueize, _q120);
										  tree _q121 = gimple_assign_rhs2 (_a5);
										  _q121 = do_valueize (valueize, _q121);
										  tree _q122 = gimple_assign_rhs3 (_a5);
										  _q122 = do_valueize (valueize, _q122);
										  switch (TREE_CODE (_q120))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q120))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case UNEQ_EXPR:
											        {
												  tree _q130 = gimple_assign_rhs1 (_a6);
												  _q130 = do_valueize (valueize, _q130);
												  tree _q131 = gimple_assign_rhs2 (_a6);
												  _q131 = do_valueize (valueize, _q131);
												  if (tree_swap_operands_p (_q130, _q131))
												    std::swap (_q130, _q131);
												  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
														    tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
														    if (gimple_simplify_100 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
														      return true;
														  }
													        }
													    }
												        }
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
						    {
						      {
/* #line 2121 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q60 };
							if (gimple_simplify_371 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
						    {
						      {
/* #line 2121 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q61 };
							if (gimple_simplify_371 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
						    {
						      {
/* #line 2121 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q60 };
							if (gimple_simplify_371 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      {
/* #line 2121 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q61 };
							if (gimple_simplify_371 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  switch (TREE_CODE (_q51))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q51))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						    {
						      {
/* #line 2121 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
							if (gimple_simplify_371 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						    {
						      {
/* #line 2121 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _p0, _q21 };
							if (gimple_simplify_371 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
						    {
						      {
/* #line 2121 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q21, _p0, _q20 };
							if (gimple_simplify_371 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
						  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
						    {
						      {
/* #line 2121 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q20, _p0, _q21 };
							if (gimple_simplify_371 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 1856 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_348 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 1856 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_348 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      {
/* #line 1861 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
					if (gimple_simplify_241 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q31))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q31))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
				    {
				      {
/* #line 1861 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
					if (gimple_simplify_241 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      {
/* #line 1866 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41, _q31 };
					if (gimple_simplify_511 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
				    {
				      {
/* #line 1866 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q40, _q31 };
					if (gimple_simplify_511 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q31))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q31))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
				    {
				      {
/* #line 1866 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _p0, _q51, _q30 };
					if (gimple_simplify_511 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
				  if ((_q51 == _p0 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _p0, 0) && types_match (_q51, _p0)))
				    {
				      {
/* #line 1866 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q31, _p0, _q50, _q30 };
					if (gimple_simplify_511 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (CONSTANT_CLASS_P (_q21))
		    {
		      if (CONSTANT_CLASS_P (_p1))
			{
			  {
/* #line 1877 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_516 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case GE_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case GE_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case GT_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case GT_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case EQ_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case NE_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      if (tree_swap_operands_p (_q90, _q91))
								        std::swap (_q90, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case NE_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    if (tree_swap_operands_p (_q90, _q91))
								      std::swap (_q90, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case NE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case EQ_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      if (tree_swap_operands_p (_q90, _q91))
								        std::swap (_q90, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case EQ_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    if (tree_swap_operands_p (_q90, _q91))
								      std::swap (_q90, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LT_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case LT_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case GT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LE_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case LE_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case UNORDERED_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case ORDERED_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      if (tree_swap_operands_p (_q90, _q91))
								        std::swap (_q90, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case ORDERED_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    if (tree_swap_operands_p (_q90, _q91))
								      std::swap (_q90, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case ORDERED_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case UNORDERED_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      if (tree_swap_operands_p (_q90, _q91))
								        std::swap (_q90, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case UNORDERED_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    if (tree_swap_operands_p (_q90, _q91))
								      std::swap (_q90, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case UNLT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case GE_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case GE_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case UNLE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case GT_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case GT_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case UNGT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LE_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case LE_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case UNGE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LT_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case LT_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case UNEQ_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LTGT_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      if (tree_swap_operands_p (_q90, _q91))
								        std::swap (_q90, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case LTGT_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    if (tree_swap_operands_p (_q90, _q91))
								      std::swap (_q90, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case LTGT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case UNEQ_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      if (tree_swap_operands_p (_q90, _q91))
								        std::swap (_q90, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										    if (gimple_simplify_168 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
							case UNEQ_EXPR:
							  {
							    tree _q90 = TREE_OPERAND (_q80, 0);
							    if ((TREE_CODE (_q90) == SSA_NAME
							         || is_gimple_min_invariant (_q90)))
							      {
								_q90 = do_valueize (valueize, _q90);
								tree _q91 = TREE_OPERAND (_q80, 1);
								if ((TREE_CODE (_q91) == SSA_NAME
								     || is_gimple_min_invariant (_q91)))
								  {
								    _q91 = do_valueize (valueize, _q91);
								    if (tree_swap_operands_p (_q90, _q91))
								      std::swap (_q90, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
										    return true;
										}
									      }
									  }
								      }
								  }
							      }
							    break;
							  }
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case LT_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case GE_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case GE_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case LE_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case GT_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case GT_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case EQ_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (tree_swap_operands_p (_q30, _q31))
				  std::swap (_q30, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case NE_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    if (tree_swap_operands_p (_q90, _q91))
								      std::swap (_q90, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case NE_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case NE_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (tree_swap_operands_p (_q30, _q31))
				  std::swap (_q30, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case EQ_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    if (tree_swap_operands_p (_q90, _q91))
								      std::swap (_q90, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case EQ_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case GE_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case LT_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case LT_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case GT_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case LE_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case LE_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case UNORDERED_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (tree_swap_operands_p (_q30, _q31))
				  std::swap (_q30, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case ORDERED_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    if (tree_swap_operands_p (_q90, _q91))
								      std::swap (_q90, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case ORDERED_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case ORDERED_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (tree_swap_operands_p (_q30, _q31))
				  std::swap (_q30, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case UNORDERED_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    if (tree_swap_operands_p (_q90, _q91))
								      std::swap (_q90, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case UNORDERED_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case UNLT_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case GE_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case GE_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case UNLE_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case GT_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case GT_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case UNGT_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case LE_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case LE_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case UNGE_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case LT_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case LT_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case UNEQ_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (tree_swap_operands_p (_q30, _q31))
				  std::swap (_q30, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case LTGT_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    if (tree_swap_operands_p (_q90, _q91))
								      std::swap (_q90, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case LTGT_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    case LTGT_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				if (tree_swap_operands_p (_q30, _q31))
				  std::swap (_q30, _q31);
				if (zerop (_q22))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case COND_EXPR:
						  {
						    tree _q80 = gimple_assign_rhs1 (_a2);
						    _q80 = do_valueize (valueize, _q80);
						    tree _q81 = gimple_assign_rhs2 (_a2);
						    _q81 = do_valueize (valueize, _q81);
						    tree _q82 = gimple_assign_rhs3 (_a2);
						    _q82 = do_valueize (valueize, _q82);
						    switch (TREE_CODE (_q80))
						      {
						      case SSA_NAME:
						        if (gimple *_d3 = get_def (valueize, _q80))
						          {
							    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							      switch (gimple_assign_rhs_code (_a3))
								{
								case UNEQ_EXPR:
								  {
								    tree _q90 = gimple_assign_rhs1 (_a3);
								    _q90 = do_valueize (valueize, _q90);
								    tree _q91 = gimple_assign_rhs2 (_a3);
								    _q91 = do_valueize (valueize, _q91);
								    if (tree_swap_operands_p (_q90, _q91))
								      std::swap (_q90, _q91);
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										  if (gimple_simplify_168 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
										    return true;
										}
									      }
									  }
								      }
								    break;
								  }
								default:;
								}
						          }
						        break;
						      case UNEQ_EXPR:
						        {
							  tree _q90 = TREE_OPERAND (_q80, 0);
							  if ((TREE_CODE (_q90) == SSA_NAME
							       || is_gimple_min_invariant (_q90)))
							    {
							      _q90 = do_valueize (valueize, _q90);
							      tree _q91 = TREE_OPERAND (_q80, 1);
							      if ((TREE_CODE (_q91) == SSA_NAME
							           || is_gimple_min_invariant (_q91)))
							        {
								  _q91 = do_valueize (valueize, _q91);
								  if (tree_swap_operands_p (_q90, _q91))
								    std::swap (_q90, _q91);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
										if (gimple_simplify_168 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
										  return true;
									      }
									    }
								        }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case GE_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case GT_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case EQ_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case NE_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      if (tree_swap_operands_p (_q90, _q91))
								        std::swap (_q90, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case NE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case EQ_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      if (tree_swap_operands_p (_q90, _q91))
								        std::swap (_q90, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LT_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case GT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LE_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case UNORDERED_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case ORDERED_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      if (tree_swap_operands_p (_q90, _q91))
								        std::swap (_q90, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case ORDERED_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case UNORDERED_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      if (tree_swap_operands_p (_q90, _q91))
								        std::swap (_q90, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case UNLT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case GE_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case UNLE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case GT_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case UNGT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LE_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case UNGE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LT_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case UNEQ_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LTGT_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      if (tree_swap_operands_p (_q90, _q91))
								        std::swap (_q90, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      case LTGT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (integer_zerop (_q22))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case VEC_COND_EXPR:
						    {
						      tree _q80 = gimple_assign_rhs1 (_a3);
						      _q80 = do_valueize (valueize, _q80);
						      tree _q81 = gimple_assign_rhs2 (_a3);
						      _q81 = do_valueize (valueize, _q81);
						      tree _q82 = gimple_assign_rhs3 (_a3);
						      _q82 = do_valueize (valueize, _q82);
						      switch (TREE_CODE (_q80))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q80))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case UNEQ_EXPR:
								    {
								      tree _q90 = gimple_assign_rhs1 (_a4);
								      _q90 = do_valueize (valueize, _q90);
								      tree _q91 = gimple_assign_rhs2 (_a4);
								      _q91 = do_valueize (valueize, _q91);
								      if (tree_swap_operands_p (_q90, _q91))
								        std::swap (_q90, _q91);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
										    if (gimple_simplify_271 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2469 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_68 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_IOR_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
					    if (gimple_simplify_308 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_max_value (_q51, valueize))
					{
					  {
/* #line 2673 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
					    if (gimple_simplify_499 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case EQ_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2689 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
					    if (gimple_simplify_98 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EQ_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_110 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case NE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_110 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, GT_EXPR, GT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, GE_EXPR, GT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
					    if (gimple_simplify_308 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_max_value (_q51, valueize))
					{
					  {
/* #line 2673 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
					    if (gimple_simplify_499 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case EQ_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2689 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
					    if (gimple_simplify_98 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EQ_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_110 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case NE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_110 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, LT_EXPR, LT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, LE_EXPR, LT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EQ_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_390 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
						      return true;
						  }
						  {
/* #line 2773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_110 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case NE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_390 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
						      return true;
						  }
						  {
/* #line 2773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_110 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_390 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_390 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_390 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_390 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		if (gimple_min_value (_q21, valueize))
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case GT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
					  if (gimple_simplify_525 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				case LT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
					  if (gimple_simplify_525 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				case LE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2663 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q51 };
					  if (gimple_simplify_283 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				case GE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2663 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
					  if (gimple_simplify_283 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
		if (gimple_max_value (_q21, valueize))
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case LT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2673 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
					  if (gimple_simplify_90 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				case GT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2673 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
					  if (gimple_simplify_90 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				case GE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2681 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_94 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				case LE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2681 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_94 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2663 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_490 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_max_value (_q51, valueize))
					{
					  {
/* #line 2681 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_240 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case EQ_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2668 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_330 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_max_value (_q51, valueize))
					{
					  {
/* #line 2681 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_240 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EQ_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_110 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case NE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_110 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, LT_EXPR, LE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, LE_EXPR, LE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2663 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
					    if (gimple_simplify_490 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_max_value (_q51, valueize))
					{
					  {
/* #line 2681 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_240 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case EQ_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2668 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_330 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_max_value (_q51, valueize))
					{
					  {
/* #line 2681 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_240 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EQ_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_110 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case NE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_110 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, GT_EXPR, GE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_452 (res_op, seq, valueize, type, captures, GE_EXPR, GE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EQ_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_390 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
						      return true;
						  }
						  {
/* #line 2773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_110 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case NE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_390 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
						      return true;
						  }
						  {
/* #line 2773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_110 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_390 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_390 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_390 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_390 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		if (gimple_min_value (_q21, valueize))
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case LE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2668 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_330 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				case GE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2668 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_330 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				case LT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2689 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
					  if (gimple_simplify_502 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				case GT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2689 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
					  if (gimple_simplify_502 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
		if (gimple_max_value (_q21, valueize))
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case GE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2681 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_94 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				case LE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2681 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_94 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case MULT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_31 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LSHIFT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_270 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			      if (gimple_simplify_321 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case MULT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_270 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_logical_inverted_value (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	{
	  if (gimple_truth_valued_p (_p1, valueize))
	    {
	      {
/* #line 1926 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		if (gimple_simplify_20 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
		  return true;
	      }
	    }
        }
}
}
if (gimple_truth_valued_p (_p0, valueize))
  {
    {
      tree _p1_pops[1];
      if (gimple_logical_inverted_value (_p1, _p1_pops, valueize))
        {
	  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		if (gimple_simplify_20 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
		  return true;
	      }
	    }
}
    }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
			      if (gimple_simplify_321 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case LSHIFT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_340 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			      if (gimple_simplify_277 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
			      if (gimple_simplify_277 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    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", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1366;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1366;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1366:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			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", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1367;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1367;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1367:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			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", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1368;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1368;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1368:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case UNORDERED_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case UNORDERED_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      if ((_q51 == _q50 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q50, 0) && types_match (_q51, _q50)))
					{
					  {
/* #line 5712 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
/* #line 5712 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (types_match (captures[0], captures[1])
)
					      {
						gimple_seq *lseq = seq;
						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", 5713, __FILE__, __LINE__);
						{
						  res_op->set_op (UNORDERED_EXPR, type, 2);
						  res_op->ops[0] = captures[0];
						  res_op->ops[1] = captures[1];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1369:;
					      }
					  }
				        }
				      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
					{
					  {
/* #line 5720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
					    if (gimple_simplify_326 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
					{
					  {
/* #line 5720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
					    if (gimple_simplify_326 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case UNORDERED_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
					    if (gimple_simplify_170 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
					    if (gimple_simplify_170 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case GE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_159 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case LT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      case GT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LT_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							switch (TREE_CODE (_q70))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q70))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case POINTER_PLUS_EXPR:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									tree _q81 = gimple_assign_rhs2 (_a4);
									_q81 = do_valueize (valueize, _q81);
									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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1370;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1370;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1370:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1371;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1371;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1371;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1371:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case GT_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
							  {
							    switch (TREE_CODE (_q71))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q71))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case POINTER_PLUS_EXPR:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    tree _q91 = gimple_assign_rhs2 (_a4);
									    _q91 = do_valueize (valueize, _q91);
									    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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1372;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1372;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1372:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1373;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1373;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1373;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1373:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case GT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_159 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_159 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      case NE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_159 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LE_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							switch (TREE_CODE (_q70))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q70))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case POINTER_PLUS_EXPR:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									tree _q81 = gimple_assign_rhs2 (_a4);
									_q81 = do_valueize (valueize, _q81);
									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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1374;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1374;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1374:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1375;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1375;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1375;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1375:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case GE_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
							  {
							    switch (TREE_CODE (_q71))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q71))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case POINTER_PLUS_EXPR:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    tree _q91 = gimple_assign_rhs2 (_a4);
									    _q91 = do_valueize (valueize, _q91);
									    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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1376;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1376;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1376:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1377;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1377;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1377;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1377:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EQ_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_159 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_159 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_159 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_159 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case LT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_159 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_159 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LE_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							switch (TREE_CODE (_q70))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q70))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case POINTER_PLUS_EXPR:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									tree _q81 = gimple_assign_rhs2 (_a4);
									_q81 = do_valueize (valueize, _q81);
									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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1378;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1378;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1378:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1379;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1379;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1379;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1379:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case GE_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
							  {
							    switch (TREE_CODE (_q71))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q71))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case POINTER_PLUS_EXPR:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    tree _q91 = gimple_assign_rhs2 (_a4);
									    _q91 = do_valueize (valueize, _q91);
									    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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1380;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1380;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1380:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1381;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1381;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1381;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1381:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_159 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case GT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      case LT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LT_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							switch (TREE_CODE (_q70))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q70))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case POINTER_PLUS_EXPR:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									tree _q81 = gimple_assign_rhs2 (_a4);
									_q81 = do_valueize (valueize, _q81);
									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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1382;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1382;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1382:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1383;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1383;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1383;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1383:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case GT_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
							  {
							    switch (TREE_CODE (_q71))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q71))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case POINTER_PLUS_EXPR:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    tree _q91 = gimple_assign_rhs2 (_a4);
									    _q91 = do_valueize (valueize, _q91);
									    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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1384;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1384;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1384:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  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", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1385;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1385;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1385;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1385:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_159 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case VEC_PERM_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case VEC_PERM_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      tree _q61 = gimple_assign_rhs2 (_a2);
				      _q61 = do_valueize (valueize, _q61);
				      tree _q62 = gimple_assign_rhs3 (_a2);
				      _q62 = do_valueize (valueize, _q62);
				      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 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (VECTOR_INTEGER_TYPE_P (type)
)
						  {
						    gimple_seq *lseq = seq;
						    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", 8488, __FILE__, __LINE__);
						    {
						      res_op->set_op (VEC_PERM_EXPR, type, 3);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[2];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1386;
							captures[3] = _r1;
						      }
						      res_op->ops[0] = captures[3];
						      res_op->ops[1] = captures[3];
						      res_op->ops[2] = captures[1];
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1386:;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_POINTER_DIFF_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_zerop (_p1))
    {
      {
/* #line 192 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	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", 192, __FILE__, __LINE__);
	{
	  res_op->set_op (NOP_EXPR, type, 1);
	  res_op->ops[0] = captures[0];
	  res_op->resimplify (lseq, valueize);
	  return true;
	}
next_after_fail1387:;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _p0, 0))
    {
      {
/* #line 245 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p0 };
	gimple_seq *lseq = seq;
	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", 245, __FILE__, __LINE__);
	{
	  tree tem;
	  tem =  build_zero_cst (type);
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1388:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  {
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2557 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    if (ptr_difference_const (captures[1], captures[3], &diff)
)
							      {
								gimple_seq *lseq = seq;
								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", 2558, __FILE__, __LINE__);
								{
								  tree tem;
								  tem =  build_int_cst_type (type, diff);
								  res_op->set_value (tem);
								  return true;
								}
next_after_fail1389:;
							      }
							}
						      }
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  {
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2557 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (ptr_difference_const (captures[1], captures[3], &diff)
)
					      {
						gimple_seq *lseq = seq;
						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", 2558, __FILE__, __LINE__);
						{
						  tree tem;
						  tem =  build_int_cst_type (type, diff);
						  res_op->set_value (tem);
						  return true;
						}
next_after_fail1390:;
					      }
					}
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					{
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2557 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (ptr_difference_const (captures[1], captures[3], &diff)
)
						    {
						      gimple_seq *lseq = seq;
						      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", 2558, __FILE__, __LINE__);
						      {
							tree tem;
							tem =  build_int_cst_type (type, diff);
							res_op->set_value (tem);
							return true;
						      }
next_after_fail1391:;
						    }
					      }
					    }
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			{
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2557 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (ptr_difference_const (captures[1], captures[3], &diff)
)
				    {
				      gimple_seq *lseq = seq;
				      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", 2558, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  build_int_cst_type (type, diff);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1392:;
				    }
			      }
			    }
			}
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case ADDR_EXPR:
					        {
						  {
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2564 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    if (ptr_difference_const (captures[1], captures[3], &diff)
)
							      {
								gimple_seq *lseq = seq;
								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", 2565, __FILE__, __LINE__);
								{
								  tree tem;
								  tem =  build_int_cst_type (type, diff);
								  res_op->set_value (tem);
								  return true;
								}
next_after_fail1393:;
							      }
							}
						      }
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2564 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (ptr_difference_const (captures[1], captures[3], &diff)
)
						    {
						      gimple_seq *lseq = seq;
						      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", 2565, __FILE__, __LINE__);
						      {
							tree tem;
							tem =  build_int_cst_type (type, diff);
							res_op->set_value (tem);
							return true;
						      }
next_after_fail1394:;
						    }
					      }
					    }
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case ADDR_EXPR:
			        {
				  {
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2564 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (ptr_difference_const (captures[1], captures[3], &diff)
)
					      {
						gimple_seq *lseq = seq;
						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", 2565, __FILE__, __LINE__);
						{
						  tree tem;
						  tem =  build_int_cst_type (type, diff);
						  res_op->set_value (tem);
						  return true;
						}
next_after_fail1395:;
					      }
					}
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2564 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (ptr_difference_const (captures[1], captures[3], &diff)
)
				    {
				      gimple_seq *lseq = seq;
				      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", 2565, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  build_int_cst_type (type, diff);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1396:;
				    }
			      }
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  {
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2557 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (ptr_difference_const (captures[1], captures[3], &diff)
)
					      {
						gimple_seq *lseq = seq;
						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", 2558, __FILE__, __LINE__);
						{
						  tree tem;
						  tem =  build_int_cst_type (type, diff);
						  res_op->set_value (tem);
						  return true;
						}
next_after_fail1397:;
					      }
					}
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2557 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    if (ptr_difference_const (captures[1], captures[3], &diff)
)
			      {
				gimple_seq *lseq = seq;
				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", 2558, __FILE__, __LINE__);
				{
				  tree tem;
				  tem =  build_int_cst_type (type, diff);
				  res_op->set_value (tem);
				  return true;
				}
next_after_fail1398:;
			      }
			}
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _p1))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    CASE_CONVERT:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			{
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2557 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (ptr_difference_const (captures[1], captures[3], &diff)
)
				    {
				      gimple_seq *lseq = seq;
				      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", 2558, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  build_int_cst_type (type, diff);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1399:;
				    }
			      }
			    }
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
          default:;
          }
	{
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
/* #line 2554 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2557 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (ptr_difference_const (captures[1], captures[3], &diff)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 2558, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  build_int_cst_type (type, diff);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1400:;
		    }
	      }
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  {
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2564 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (ptr_difference_const (captures[1], captures[3], &diff)
)
					      {
						gimple_seq *lseq = seq;
						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", 2565, __FILE__, __LINE__);
						{
						  tree tem;
						  tem =  build_int_cst_type (type, diff);
						  res_op->set_value (tem);
						  return true;
						}
next_after_fail1401:;
					      }
					}
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2564 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (ptr_difference_const (captures[1], captures[3], &diff)
)
				    {
				      gimple_seq *lseq = seq;
				      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", 2565, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  build_int_cst_type (type, diff);
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1402:;
				    }
			      }
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  {
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2564 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    if (ptr_difference_const (captures[1], captures[3], &diff)
)
			      {
				gimple_seq *lseq = seq;
				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", 2565, __FILE__, __LINE__);
				{
				  tree tem;
				  tem =  build_int_cst_type (type, diff);
				  res_op->set_value (tem);
				  return true;
				}
next_after_fail1403:;
			      }
			}
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	{
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
/* #line 2561 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2564 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (ptr_difference_const (captures[1], captures[3], &diff)
)
		    {
		      gimple_seq *lseq = seq;
		      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", 2565, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  build_int_cst_type (type, diff);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1404:;
		    }
	      }
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case POINTER_PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case POINTER_PLUS_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_q50))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q50))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ADDR_EXPR:
							        {
								  {
/* #line 2570 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
								    {
/* #line 2570 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									if (ptr_difference_const (captures[0], captures[2], &diff)
)
									  {
									    gimple_seq *lseq = seq;
									    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", 2572, __FILE__, __LINE__);
									    {
									      res_op->set_op (PLUS_EXPR, type, 2);
									      res_op->ops[0] =  build_int_cst_type (type, diff);
									      {
										tree _o1[1], _r1;
										{
										  tree _o2[2], _r2;
										  _o2[0] = captures[1];
										  _o2[1] = captures[3];
										  gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
										  tem_op.resimplify (lseq, valueize);
										  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
										  if (!_r2) goto next_after_fail1405;
										  _o1[0] = _r2;
										}
										if (type != TREE_TYPE (_o1[0])
										    && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
										  {
										    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
										    tem_op.resimplify (lseq, valueize);
										    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
										    if (!_r1) goto next_after_fail1405;
										  }
										else
										  _r1 = _o1[0];
										res_op->ops[1] = _r1;
									      }
									      res_op->resimplify (lseq, valueize);
									      return true;
									    }
next_after_fail1405:;
									  }
								    }
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    case ADDR_EXPR:
						      {
							{
/* #line 2570 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
							  {
/* #line 2570 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      if (ptr_difference_const (captures[0], captures[2], &diff)
)
								{
								  gimple_seq *lseq = seq;
								  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", 2572, __FILE__, __LINE__);
								  {
								    res_op->set_op (PLUS_EXPR, type, 2);
								    res_op->ops[0] =  build_int_cst_type (type, diff);
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] = captures[1];
									_o2[1] = captures[3];
									gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
									tem_op.resimplify (lseq, valueize);
									_r2 = maybe_push_res_to_seq (&tem_op, lseq);
									if (!_r2) goto next_after_fail1406;
									_o1[0] = _r2;
								      }
								      if (type != TREE_TYPE (_o1[0])
								          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
									{
									  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
									  tem_op.resimplify (lseq, valueize);
									  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
									  if (!_r1) goto next_after_fail1406;
								        }
								      else
								        _r1 = _o1[0];
								      res_op->ops[1] = _r1;
								    }
								    res_op->resimplify (lseq, valueize);
								    return true;
								  }
next_after_fail1406:;
								}
							  }
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case POINTER_PLUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					switch (TREE_CODE (_q50))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q50))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case ADDR_EXPR:
						      {
							{
/* #line 2570 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
							  {
/* #line 2570 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      if (ptr_difference_const (captures[0], captures[2], &diff)
)
								{
								  gimple_seq *lseq = seq;
								  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", 2572, __FILE__, __LINE__);
								  {
								    res_op->set_op (PLUS_EXPR, type, 2);
								    res_op->ops[0] =  build_int_cst_type (type, diff);
								    {
								      tree _o1[1], _r1;
								      {
									tree _o2[2], _r2;
									_o2[0] = captures[1];
									_o2[1] = captures[3];
									gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
									tem_op.resimplify (lseq, valueize);
									_r2 = maybe_push_res_to_seq (&tem_op, lseq);
									if (!_r2) goto next_after_fail1407;
									_o1[0] = _r2;
								      }
								      if (type != TREE_TYPE (_o1[0])
								          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
									{
									  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
									  tem_op.resimplify (lseq, valueize);
									  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
									  if (!_r1) goto next_after_fail1407;
								        }
								      else
								        _r1 = _o1[0];
								      res_op->ops[1] = _r1;
								    }
								    res_op->resimplify (lseq, valueize);
								    return true;
								  }
next_after_fail1407:;
								}
							  }
							}
						        break;
						      }
						    default:;
						    }
					      }
					    break;
					  case ADDR_EXPR:
					    {
					      {
/* #line 2570 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
						{
/* #line 2570 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2571 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    if (ptr_difference_const (captures[0], captures[2], &diff)
)
						      {
							gimple_seq *lseq = seq;
							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", 2572, __FILE__, __LINE__);
							{
							  res_op->set_op (PLUS_EXPR, type, 2);
							  res_op->ops[0] =  build_int_cst_type (type, diff);
							  {
							    tree _o1[1], _r1;
							    {
							      tree _o2[2], _r2;
							      _o2[0] = captures[1];
							      _o2[1] = captures[3];
							      gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							      tem_op.resimplify (lseq, valueize);
							      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r2) goto next_after_fail1408;
							      _o1[0] = _r2;
							    }
							    if (type != TREE_TYPE (_o1[0])
							        && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
							      {
								gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
								tem_op.resimplify (lseq, valueize);
								_r1 = maybe_push_res_to_seq (&tem_op, lseq);
								if (!_r1) goto next_after_fail1408;
							      }
							    else
							      _r1 = _o1[0];
							    res_op->ops[1] = _r1;
							  }
							  res_op->resimplify (lseq, valueize);
							  return true;
							}
next_after_fail1408:;
						      }
						}
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  {
/* #line 2576 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				    {
/* #line 2576 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2577 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (ptr_difference_const (captures[0], captures[2], &diff)
)
					  {
					    gimple_seq *lseq = seq;
					    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", 2578, __FILE__, __LINE__);
					    {
					      res_op->set_op (PLUS_EXPR, type, 2);
					      res_op->ops[0] =  build_int_cst_type (type, diff);
					      {
						tree _o1[1], _r1;
						_o1[0] = captures[1];
						if (type != TREE_TYPE (_o1[0])
						    && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
						  {
						    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1409;
						  }
						else
						  _r1 = _o1[0];
						res_op->ops[1] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1409:;
					  }
				    }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 2576 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  {
/* #line 2576 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2577 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (ptr_difference_const (captures[0], captures[2], &diff)
)
				{
				  gimple_seq *lseq = seq;
				  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", 2578, __FILE__, __LINE__);
				  {
				    res_op->set_op (PLUS_EXPR, type, 2);
				    res_op->ops[0] =  build_int_cst_type (type, diff);
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[1];
				      if (type != TREE_TYPE (_o1[0])
				          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
					{
					  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail1410;
				        }
				      else
				        _r1 = _o1[0];
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1410:;
				}
			  }
			}
		        break;
		      }
		    default:;
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q20 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (!TYPE_SATURATING (type)
)
			  {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
			      {
				{
/* #line 3138 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
				    gimple_seq *lseq = seq;
				    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", 3142, __FILE__, __LINE__);
				    {
				      res_op->set_op (NOP_EXPR, type, 1);
				      {
					tree _o1[1], _r1;
					_o1[0] = captures[1];
					gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, stype, _o1[0]);
					tem_op.resimplify (lseq, valueize);
					_r1 = maybe_push_res_to_seq (&tem_op, lseq);
					if (!_r1) goto next_after_fail1411;
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1411:;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 2581 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
				    {
/* #line 2581 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2582 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (ptr_difference_const (captures[0], captures[1], &diff)
)
					  {
					    gimple_seq *lseq = seq;
					    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", 2583, __FILE__, __LINE__);
					    {
					      res_op->set_op (MINUS_EXPR, type, 2);
					      res_op->ops[0] =  build_int_cst_type (type, diff);
					      {
						tree _o1[1], _r1;
						_o1[0] = captures[2];
						if (type != TREE_TYPE (_o1[0])
						    && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
						  {
						    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1412;
						  }
						else
						  _r1 = _o1[0];
						res_op->ops[1] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1412:;
					  }
				    }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _p1))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    case POINTER_PLUS_EXPR:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			tree _q31 = gimple_assign_rhs2 (_a1);
			_q31 = do_valueize (valueize, _q31);
			{
/* #line 2581 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
			  {
/* #line 2581 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 poly_int64 diff;
/* #line 2582 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (ptr_difference_const (captures[0], captures[1], &diff)
)
				{
				  gimple_seq *lseq = seq;
				  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", 2583, __FILE__, __LINE__);
				  {
				    res_op->set_op (MINUS_EXPR, type, 2);
				    res_op->ops[0] =  build_int_cst_type (type, diff);
				    {
				      tree _o1[1], _r1;
				      _o1[0] = captures[2];
				      if (type != TREE_TYPE (_o1[0])
				          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
					{
					  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail1413;
				        }
				      else
				        _r1 = _o1[0];
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1413:;
				}
			  }
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case POINTER_PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
		    {
		      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (!TYPE_SATURATING (type)
)
			  {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
			      {
				{
/* #line 3185 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
				    gimple_seq *lseq = seq;
				    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", 3189, __FILE__, __LINE__);
				    {
				      res_op->set_op (NEGATE_EXPR, type, 1);
				      {
					tree _o1[1], _r1;
					{
					  tree _o2[1], _r2;
					  _o2[0] = captures[1];
					  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, stype, _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1414;
					  _o1[0] = _r2;
					}
					if (type != TREE_TYPE (_o1[0])
					    && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
					  {
					    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1414;
					  }
					else
					  _r1 = _o1[0];
					res_op->ops[0] = _r1;
				      }
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1414:;
				}
			      }
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case POINTER_PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (!TYPE_SATURATING (type)
)
					  {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
					      {
						gimple_seq *lseq = seq;
						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", 3237, __FILE__, __LINE__);
						{
						  res_op->set_op (POINTER_DIFF_EXPR, type, 2);
						  res_op->ops[0] = captures[0];
						  res_op->ops[1] = captures[2];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1415:;
					      }
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
				    {
				      {
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
/* #line 2833 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (!TYPE_SATURATING (type)
)
					  {
/* #line 2891 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if ((!FLOAT_TYPE_P (type) || flag_associative_math)
 && !FIXED_POINT_TYPE_P (type)
)
					      {
						{
/* #line 3242 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree stype = signed_type_for (TREE_TYPE (captures[1]));
						    gimple_seq *lseq = seq;
						    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", 3246, __FILE__, __LINE__);
						    {
						      res_op->set_op (MINUS_EXPR, type, 2);
						      {
							tree _o1[1], _r1;
							{
							  tree _o2[1], _r2;
							  _o2[0] = captures[1];
							  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, stype, _o2[0]);
							  tem_op.resimplify (lseq, valueize);
							  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r2) goto next_after_fail1416;
							  _o1[0] = _r2;
							}
							if (type != TREE_TYPE (_o1[0])
							    && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
							  {
							    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
							    tem_op.resimplify (lseq, valueize);
							    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r1) goto next_after_fail1416;
							  }
							else
							  _r1 = _o1[0];
							res_op->ops[0] = _r1;
						      }
						      {
							tree _o1[1], _r1;
							{
							  tree _o2[1], _r2;
							  _o2[0] = captures[2];
							  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, stype, _o2[0]);
							  tem_op.resimplify (lseq, valueize);
							  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r2) goto next_after_fail1416;
							  _o1[0] = _r2;
							}
							if (type != TREE_TYPE (_o1[0])
							    && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
							  {
							    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
							    tem_op.resimplify (lseq, valueize);
							    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r1) goto next_after_fail1416;
							  }
							else
							  _r1 = _o1[0];
							res_op->ops[1] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1416:;
						}
					      }
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_zerop (_p0))
  {
    {
/* #line 4278 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p1 };
      gimple_seq *lseq = seq;
      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", 4278, __FILE__, __LINE__);
      {
	res_op->set_op (NEGATE_EXPR, type, 1);
	{
	  tree _o1[1], _r1;
	  _o1[0] = captures[0];
	  if (type != TREE_TYPE (_o1[0])
	      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
	    {
	      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
	      tem_op.resimplify (lseq, valueize);
	      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
	      if (!_r1) goto next_after_fail1417;
	    }
	  else
	    _r1 = _o1[0];
	  res_op->ops[0] = _r1;
	}
	res_op->resimplify (lseq, valueize);
	return true;
      }
next_after_fail1417:;
    }
  }
  return false;
}

static bool
gimple_simplify_MULT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case GT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						    if (gimple_simplify_188 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						    if (gimple_simplify_224 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      case LT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						    if (gimple_simplify_319 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						    if (gimple_simplify_358 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case GT_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q30, 0);
			if ((TREE_CODE (_q40) == SSA_NAME
			     || is_gimple_min_invariant (_q40)))
			  {
			    _q40 = do_valueize (valueize, _q40);
			    tree _q41 = TREE_OPERAND (_q30, 1);
			    if ((TREE_CODE (_q41) == SSA_NAME
			         || is_gimple_min_invariant (_q41)))
			      {
				_q41 = do_valueize (valueize, _q41);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						  if (gimple_simplify_188 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    case GE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q30, 0);
			if ((TREE_CODE (_q40) == SSA_NAME
			     || is_gimple_min_invariant (_q40)))
			  {
			    _q40 = do_valueize (valueize, _q40);
			    tree _q41 = TREE_OPERAND (_q30, 1);
			    if ((TREE_CODE (_q41) == SSA_NAME
			         || is_gimple_min_invariant (_q41)))
			      {
				_q41 = do_valueize (valueize, _q41);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						  if (gimple_simplify_224 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    case LT_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q30, 0);
			if ((TREE_CODE (_q40) == SSA_NAME
			     || is_gimple_min_invariant (_q40)))
			  {
			    _q40 = do_valueize (valueize, _q40);
			    tree _q41 = TREE_OPERAND (_q30, 1);
			    if ((TREE_CODE (_q41) == SSA_NAME
			         || is_gimple_min_invariant (_q41)))
			      {
				_q41 = do_valueize (valueize, _q41);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						  if (gimple_simplify_319 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    case LE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q30, 0);
			if ((TREE_CODE (_q40) == SSA_NAME
			     || is_gimple_min_invariant (_q40)))
			  {
			    _q40 = do_valueize (valueize, _q40);
			    tree _q41 = TREE_OPERAND (_q30, 1);
			    if ((TREE_CODE (_q41) == SSA_NAME
			         || is_gimple_min_invariant (_q41)))
			      {
				_q41 = do_valueize (valueize, _q41);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
						  if (gimple_simplify_358 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case VECTOR_CST:
      {
	{
/* #line 292 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 292 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree itype = FLOAT_TYPE_P (type) ? unsigned_type_for (type) : type;
/* #line 296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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))
)
		    {
		      gimple_seq *lseq = seq;
		      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", 301, __FILE__, __LINE__);
		      {
			res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			{
			  tree _o1[2], _r1;
			  {
			    tree _o2[1], _r2;
			    _o2[0] = captures[0];
			    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, itype, _o2[0]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail1418;
			    _o1[0] = _r2;
			  }
			  {
			    tree _o2[2], _r2;
			    _o2[0] = captures[1];
			    _o2[1] =  build_zero_cst (type);
			    gimple_match_op tem_op (res_op->cond.any_else (), NE_EXPR, itype, _o2[0], _o2[1]);
			    tem_op.resimplify (lseq, valueize);
			    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r2) goto next_after_fail1418;
			    _o1[1] = _r2;
			  }
			  gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, itype, _o1[0], _o1[1]);
			  tem_op.resimplify (lseq, valueize);
			  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			  if (!_r1) goto next_after_fail1418;
			  res_op->ops[0] = _r1;
			}
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1418:;
		    }
	      }
	    }
	}
        break;
      }
    default:;
    }
if (integer_zerop (_p1))
  {
    {
/* #line 249 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      gimple_seq *lseq = seq;
      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", 249, __FILE__, __LINE__);
      {
	tree tem;
	tem = captures[1];
	res_op->set_value (tem);
	return true;
      }
next_after_fail1419:;
    }
  }
if (real_zerop (_p1))
  {
    {
/* #line 266 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 266 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
	{
	  gimple_seq *lseq = seq;
	  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", 269, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[1];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1420:;
	}
    }
  }
if (real_onep (_p1))
  {
    {
/* #line 275 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 275 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!tree_expr_maybe_signaling_nan_p (captures[0])
 && (!HONOR_SIGNED_ZEROS (type)
 || !COMPLEX_FLOAT_TYPE_P (type))
)
	{
	  gimple_seq *lseq = seq;
	  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", 278, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1421:;
	}
    }
  }
if (real_minus_onep (_p1))
  {
    {
/* #line 283 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 283 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!tree_expr_maybe_signaling_nan_p (captures[0])
 && (!HONOR_SIGNED_ZEROS (type)
 || !COMPLEX_FLOAT_TYPE_P (type))
)
	{
	  gimple_seq *lseq = seq;
	  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", 286, __FILE__, __LINE__);
	  {
	    res_op->set_op (NEGATE_EXPR, type, 1);
	    res_op->ops[0] = captures[0];
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1422:;
	}
    }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case GT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						    if (gimple_simplify_254 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						    if (gimple_simplify_309 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						    if (gimple_simplify_292 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						    if (gimple_simplify_325 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      case LT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						    if (gimple_simplify_53 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						    if (gimple_simplify_387 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						    if (gimple_simplify_416 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						    if (gimple_simplify_89 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case GT_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						  if (gimple_simplify_254 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						  if (gimple_simplify_309 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    case GE_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						  if (gimple_simplify_292 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						  if (gimple_simplify_325 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    case LT_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						  if (gimple_simplify_53 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						  if (gimple_simplify_387 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    case LE_EXPR:
		      {
			tree _q30 = TREE_OPERAND (_q20, 0);
			if ((TREE_CODE (_q30) == SSA_NAME
			     || is_gimple_min_invariant (_q30)))
			  {
			    _q30 = do_valueize (valueize, _q30);
			    tree _q31 = TREE_OPERAND (_q20, 1);
			    if ((TREE_CODE (_q31) == SSA_NAME
			         || is_gimple_min_invariant (_q31)))
			      {
				_q31 = do_valueize (valueize, _q31);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
						  if (gimple_simplify_416 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q22 };
						  if (gimple_simplify_89 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case GT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						    if (gimple_simplify_204 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						    if (gimple_simplify_25 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      case LT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						    if (gimple_simplify_151 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						    if (gimple_simplify_141 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case GT_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q30, 0);
			if ((TREE_CODE (_q40) == SSA_NAME
			     || is_gimple_min_invariant (_q40)))
			  {
			    _q40 = do_valueize (valueize, _q40);
			    tree _q41 = TREE_OPERAND (_q30, 1);
			    if ((TREE_CODE (_q41) == SSA_NAME
			         || is_gimple_min_invariant (_q41)))
			      {
				_q41 = do_valueize (valueize, _q41);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						  if (gimple_simplify_204 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    case GE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q30, 0);
			if ((TREE_CODE (_q40) == SSA_NAME
			     || is_gimple_min_invariant (_q40)))
			  {
			    _q40 = do_valueize (valueize, _q40);
			    tree _q41 = TREE_OPERAND (_q30, 1);
			    if ((TREE_CODE (_q41) == SSA_NAME
			         || is_gimple_min_invariant (_q41)))
			      {
				_q41 = do_valueize (valueize, _q41);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						  if (gimple_simplify_25 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    case LT_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q30, 0);
			if ((TREE_CODE (_q40) == SSA_NAME
			     || is_gimple_min_invariant (_q40)))
			  {
			    _q40 = do_valueize (valueize, _q40);
			    tree _q41 = TREE_OPERAND (_q30, 1);
			    if ((TREE_CODE (_q41) == SSA_NAME
			         || is_gimple_min_invariant (_q41)))
			      {
				_q41 = do_valueize (valueize, _q41);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						  if (gimple_simplify_151 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    case LE_EXPR:
		      {
			tree _q40 = TREE_OPERAND (_q30, 0);
			if ((TREE_CODE (_q40) == SSA_NAME
			     || is_gimple_min_invariant (_q40)))
			  {
			    _q40 = do_valueize (valueize, _q40);
			    tree _q41 = TREE_OPERAND (_q30, 1);
			    if ((TREE_CODE (_q41) == SSA_NAME
			         || is_gimple_min_invariant (_q41)))
			      {
				_q41 = do_valueize (valueize, _q41);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q32 };
						  if (gimple_simplify_141 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				  }
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_259 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
			        return true;
			    }
			  }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_259 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
			        return true;
			    }
			  }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_259 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
			        return true;
			    }
			  }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF16:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_259 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
			        return true;
			    }
			  }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF32:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_259 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
			        return true;
			    }
			  }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF64:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_259 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
			        return true;
			    }
			  }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF128:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_259 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
			        return true;
			    }
			  }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF32X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_259 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
			        return true;
			    }
			  }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF64X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_259 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
			        return true;
			    }
			  }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF128X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_259 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
			        return true;
			    }
			  }
		      }
	          }
	        break;
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			      if (gimple_simplify_259 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
			        return true;
			    }
			  }
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_360 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
			        return true;
			    }
			  }
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_18 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_360 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
			        return true;
			    }
			  }
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_18 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_360 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
			        return true;
			    }
			  }
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_18 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF16:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_360 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
			        return true;
			    }
			  }
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_18 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF32:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_360 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
			        return true;
			    }
			  }
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_18 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF64:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_360 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
			        return true;
			    }
			  }
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_18 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF128:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_360 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
			        return true;
			    }
			  }
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_18 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF32X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_360 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
			        return true;
			    }
			  }
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_18 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF64X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_360 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
			        return true;
			    }
			  }
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_18 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF128X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_360 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
			        return true;
			    }
			  }
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_18 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q21 };
			      if (gimple_simplify_360 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
			        return true;
			    }
			  }
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
					      if (gimple_simplify_18 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    if (real_onep (_q30))
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_125 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    if (real_onep (_q30))
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_125 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    if (real_onep (_q30))
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_125 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF16:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    if (real_onep (_q30))
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_125 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF32:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    if (real_onep (_q30))
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_125 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF64:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    if (real_onep (_q30))
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_125 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF128:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    if (real_onep (_q30))
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_125 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF32X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    if (real_onep (_q30))
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_125 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF64X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    if (real_onep (_q30))
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_125 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF128X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    if (real_onep (_q30))
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_125 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    if (real_onep (_q30))
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 333 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
					      if (gimple_simplify_125 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_onep (_p1))
  {
    {
/* #line 366 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
      if (gimple_simplify_489 (res_op, seq, valueize, type, captures, MULT_EXPR))
        return true;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 502 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				{
/* #line 502 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    if (!overflow || TYPE_OVERFLOW_WRAPS (type)
)
				      {
					gimple_seq *lseq = seq;
					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", 510, __FILE__, __LINE__);
					{
					  res_op->set_op (MULT_EXPR, type, 2);
					  res_op->ops[0] = captures[0];
					  res_op->ops[1] =  wide_int_to_tree (type, mul);
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1423:;
				      }
				}
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						      {
/* #line 516 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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))
 {
 value_range vr0;
 if (ovf1 == wi::OVF_NONE && ovf2 == wi::OVF_NONE
 && get_global_range_query ()->range_of_expr (vr0, captures[1])
 && vr0.kind () == VR_RANGE)
 {
 wide_int wmin0 = vr0.lower_bound ();
 wide_int wmax0 = vr0.upper_bound ();
 wmin0 = wi::mul (wmin0, wi::to_wide (captures[5]), TYPE_SIGN (type), &ovf1);
 wmax0 = wi::mul (wmax0, wi::to_wide (captures[5]), TYPE_SIGN (type), &ovf2);
 if (ovf1 == wi::OVF_NONE && ovf2 == wi::OVF_NONE)
 {
 wi::add (wmin0, add, TYPE_SIGN (type), &ovf1);
 wi::add (wmax0, add, TYPE_SIGN (type), &ovf2);
 if (ovf1 == wi::OVF_NONE && ovf2 == wi::OVF_NONE)
 overflowed = false;
 }
 }
 }
 else
 overflowed = false;
/* #line 549 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  if (!overflowed
)
							    {
							      gimple_seq *lseq = seq;
							      if (lseq
							          && (!single_use (captures[0])
							              || !single_use (captures[1])))
							        lseq = NULL;
							      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", 550, __FILE__, __LINE__);
							      {
								res_op->set_op (PLUS_EXPR, type, 2);
								{
								  tree _o1[2], _r1;
								  _o1[0] = captures[2];
								  _o1[1] =  wide_int_to_tree (type, mul);
								  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
								  tem_op.resimplify (lseq, valueize);
								  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
								  if (!_r1) goto next_after_fail1424;
								  res_op->ops[0] = _r1;
								}
								res_op->ops[1] =  wide_int_to_tree (type, add);
								res_op->resimplify (lseq, valueize);
								return true;
							      }
next_after_fail1424:;
							    }
						      }
						    }
						    break;
						  }
					        default:;
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 839 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
			      {
				gimple_seq *lseq = seq;
				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", 840, __FILE__, __LINE__);
				{
				  res_op->set_op (BIT_AND_EXPR, type, 2);
				  res_op->ops[0] = captures[0];
				  {
				    tree _o1[1], _r1;
				    _o1[0] = captures[1];
				    gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
				    tem_op.resimplify (lseq, valueize);
				    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				    if (!_r1) goto next_after_fail1425;
				    res_op->ops[1] = _r1;
				  }
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1425:;
			      }
			  }
		        }
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		    {
		      {
/* #line 919 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			gimple_seq *lseq = seq;
			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", 919, __FILE__, __LINE__);
			{
			  res_op->set_op (MULT_EXPR, type, 2);
			  res_op->ops[0] = captures[1];
			  res_op->ops[1] = captures[1];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1426:;
		      }
		    }
	          break;
	        }
	      case ABSU_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		    {
		      {
/* #line 924 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20 };
			gimple_seq *lseq = seq;
			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", 924, __FILE__, __LINE__);
			{
			  res_op->set_op (MULT_EXPR, type, 2);
			  {
			    tree _o1[1], _r1;
			    _o1[0] = captures[1];
			    if (type != TREE_TYPE (_o1[0])
			        && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
			      {
				gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1427;
			      }
			    else
			      _r1 = _o1[0];
			    captures[2] = _r1;
			  }
			  res_op->ops[0] = captures[2];
			  res_op->ops[1] = captures[2];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1427:;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 978 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_320 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 978 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_320 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 978 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_320 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF16:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 978 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_320 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF32:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 978 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_320 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF64:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 978 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_320 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF128:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 978 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_320 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF32X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 978 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_320 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF64X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 978 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_320 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COPYSIGNF128X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 978 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_320 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 978 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			  if (gimple_simplify_320 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
			    return true;
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (integer_onep (_q40))
				    {
				      {
/* #line 996 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q40, _q41 };
					if (gimple_simplify_357 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_onep (_q30))
				    {
				      {
/* #line 996 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _q31 };
					if (gimple_simplify_357 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (integer_onep (_q30))
		    {
		      {
/* #line 996 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
			if (gimple_simplify_357 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_onep (_q20))
		    {
		      {
/* #line 996 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
			if (gimple_simplify_357 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case RDIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 1093 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
/* #line 1093 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				if (flag_associative_math
 && single_use (captures[0])
)
				  {
				    {
/* #line 1095 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree tem = const_binop (MULT_EXPR, type, captures[1], captures[3]);
/* #line 1097 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (tem
)
					  {
					    gimple_seq *lseq = seq;
					    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", 1098, __FILE__, __LINE__);
					    {
					      res_op->set_op (RDIV_EXPR, type, 2);
					      res_op->ops[0] =  tem;
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1428:;
					  }
				    }
				  }
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_nop_convert (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q20))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case BIT_IOR_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      if (tree_swap_operands_p (_q30, _q31))
		        std::swap (_q30, _q31);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case NEGATE_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      switch (TREE_CODE (_q40))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q40))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q50 = gimple_assign_rhs1 (_a3);
						      _q50 = do_valueize (valueize, _q50);
						      switch (TREE_CODE (_q50))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q50))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LT_EXPR:
								    {
								      tree _q60 = gimple_assign_rhs1 (_a4);
								      _q60 = do_valueize (valueize, _q60);
								      tree _q61 = gimple_assign_rhs2 (_a4);
								      _q61 = do_valueize (valueize, _q61);
								      if (integer_zerop (_q61))
									{
									  if (integer_onep (_q31))
									    {
									      {
										tree _p1_pops[1];
										if (gimple_nop_convert (_p1, _p1_pops, valueize))
										  {
										    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											  tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
											  if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
											    return true;
											}
										      }
}
									      }
									      if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
										{
										  {
/* #line 1680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
										    if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  case LT_EXPR:
						    {
						      tree _q50 = gimple_assign_rhs1 (_a3);
						      _q50 = do_valueize (valueize, _q50);
						      tree _q51 = gimple_assign_rhs2 (_a3);
						      _q51 = do_valueize (valueize, _q51);
						      if (integer_zerop (_q51))
							{
							  if (integer_onep (_q31))
							    {
							      {
								tree _p1_pops[1];
								if (gimple_nop_convert (_p1, _p1_pops, valueize))
								  {
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									  tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
									  if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
									    return true;
									}
								      }
}
							      }
							      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
								{
								  {
/* #line 1680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
								    if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    {
		      tree _q30_pops[1];
		      if (gimple_nop_convert (_q30, _q30_pops, valueize))
		        {
			  tree _q40 = _q30_pops[0];
			  switch (TREE_CODE (_q40))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _q40))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q50 = gimple_assign_rhs1 (_a2);
					  _q50 = do_valueize (valueize, _q50);
					  switch (TREE_CODE (_q50))
					    {
					    case SSA_NAME:
					      if (gimple *_d3 = get_def (valueize, _q50))
					        {
						  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						    switch (gimple_assign_rhs_code (_a3))
						      {
						      CASE_CONVERT:
						        {
							  tree _q60 = gimple_assign_rhs1 (_a3);
							  _q60 = do_valueize (valueize, _q60);
							  switch (TREE_CODE (_q60))
							    {
							    case SSA_NAME:
							      if (gimple *_d4 = get_def (valueize, _q60))
							        {
								  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								    switch (gimple_assign_rhs_code (_a4))
								      {
								      case LT_EXPR:
								        {
									  tree _q70 = gimple_assign_rhs1 (_a4);
									  _q70 = do_valueize (valueize, _q70);
									  tree _q71 = gimple_assign_rhs2 (_a4);
									  _q71 = do_valueize (valueize, _q71);
									  if (integer_zerop (_q71))
									    {
									      if (integer_onep (_q31))
										{
										  {
										    tree _p1_pops[1];
										    if (gimple_nop_convert (_p1, _p1_pops, valueize))
										      {
											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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
											      if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
											        return true;
											    }
											  }
}
										  }
										  if ((_p1 == _q70 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q70, 0) && types_match (_p1, _q70)))
										    {
										      {
/* #line 1680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
											if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
											  return true;
										      }
										    }
									        }
									    }
								          break;
								        }
								      default:;
								      }
							        }
							      break;
							    default:;
							    }
						          break;
						        }
						      case LT_EXPR:
						        {
							  tree _q60 = gimple_assign_rhs1 (_a3);
							  _q60 = do_valueize (valueize, _q60);
							  tree _q61 = gimple_assign_rhs2 (_a3);
							  _q61 = do_valueize (valueize, _q61);
							  if (integer_zerop (_q61))
							    {
							      if (integer_onep (_q31))
								{
								  {
								    tree _p1_pops[1];
								    if (gimple_nop_convert (_p1, _p1_pops, valueize))
								      {
									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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
									      if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
									        return true;
									    }
									  }
}
								  }
								  if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
								    {
								      {
/* #line 1680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
									if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
}
		    }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
      switch (TREE_CODE (_p1))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _p1))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case BIT_IOR_EXPR:
		    {
		      tree _q40 = gimple_assign_rhs1 (_a1);
		      _q40 = do_valueize (valueize, _q40);
		      tree _q41 = gimple_assign_rhs2 (_a1);
		      _q41 = do_valueize (valueize, _q41);
		      if (tree_swap_operands_p (_q40, _q41))
		        std::swap (_q40, _q41);
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case NEGATE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      switch (TREE_CODE (_q50))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q50))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a3);
						      _q60 = do_valueize (valueize, _q60);
						      switch (TREE_CODE (_q60))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q60))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LT_EXPR:
								    {
								      tree _q70 = gimple_assign_rhs1 (_a4);
								      _q70 = do_valueize (valueize, _q70);
								      tree _q71 = gimple_assign_rhs2 (_a4);
								      _q71 = do_valueize (valueize, _q71);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
										    if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  case LT_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a3);
						      _q60 = do_valueize (valueize, _q60);
						      tree _q61 = gimple_assign_rhs2 (_a3);
						      _q61 = do_valueize (valueize, _q61);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
								    if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    {
		      tree _q40_pops[1];
		      if (gimple_nop_convert (_q40, _q40_pops, valueize))
		        {
			  tree _q50 = _q40_pops[0];
			  switch (TREE_CODE (_q50))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _q50))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  switch (TREE_CODE (_q60))
					    {
					    case SSA_NAME:
					      if (gimple *_d3 = get_def (valueize, _q60))
					        {
						  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						    switch (gimple_assign_rhs_code (_a3))
						      {
						      CASE_CONVERT:
						        {
							  tree _q70 = gimple_assign_rhs1 (_a3);
							  _q70 = do_valueize (valueize, _q70);
							  switch (TREE_CODE (_q70))
							    {
							    case SSA_NAME:
							      if (gimple *_d4 = get_def (valueize, _q70))
							        {
								  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								    switch (gimple_assign_rhs_code (_a4))
								      {
								      case LT_EXPR:
								        {
									  tree _q80 = gimple_assign_rhs1 (_a4);
									  _q80 = do_valueize (valueize, _q80);
									  tree _q81 = gimple_assign_rhs2 (_a4);
									  _q81 = do_valueize (valueize, _q81);
									  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
											if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
											  return true;
										      }
										    }
									        }
									    }
								          break;
								        }
								      default:;
								      }
							        }
							      break;
							    default:;
							    }
						          break;
						        }
						      case LT_EXPR:
						        {
							  tree _q70 = gimple_assign_rhs1 (_a3);
							  _q70 = do_valueize (valueize, _q70);
							  tree _q71 = gimple_assign_rhs2 (_a3);
							  _q71 = do_valueize (valueize, _q71);
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
									if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
}
		    }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
    {
      tree _p1_pops[1];
      if (gimple_nop_convert (_p1, _p1_pops, valueize))
        {
	  tree _q40 = _p1_pops[0];
	  switch (TREE_CODE (_q40))
	    {
	    case SSA_NAME:
	      if (gimple *_d1 = get_def (valueize, _q40))
	        {
		  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		    switch (gimple_assign_rhs_code (_a1))
		      {
		      case BIT_IOR_EXPR:
		        {
			  tree _q50 = gimple_assign_rhs1 (_a1);
			  _q50 = do_valueize (valueize, _q50);
			  tree _q51 = gimple_assign_rhs2 (_a1);
			  _q51 = do_valueize (valueize, _q51);
			  if (tree_swap_operands_p (_q50, _q51))
			    std::swap (_q50, _q51);
			  switch (TREE_CODE (_q50))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _q50))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  switch (TREE_CODE (_q60))
					    {
					    case SSA_NAME:
					      if (gimple *_d3 = get_def (valueize, _q60))
					        {
						  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						    switch (gimple_assign_rhs_code (_a3))
						      {
						      CASE_CONVERT:
						        {
							  tree _q70 = gimple_assign_rhs1 (_a3);
							  _q70 = do_valueize (valueize, _q70);
							  switch (TREE_CODE (_q70))
							    {
							    case SSA_NAME:
							      if (gimple *_d4 = get_def (valueize, _q70))
							        {
								  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								    switch (gimple_assign_rhs_code (_a4))
								      {
								      case LT_EXPR:
								        {
									  tree _q80 = gimple_assign_rhs1 (_a4);
									  _q80 = do_valueize (valueize, _q80);
									  tree _q81 = gimple_assign_rhs2 (_a4);
									  _q81 = do_valueize (valueize, _q81);
									  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
											if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
											  return true;
										      }
										    }
									        }
									    }
								          break;
								        }
								      default:;
								      }
							        }
							      break;
							    default:;
							    }
						          break;
						        }
						      case LT_EXPR:
						        {
							  tree _q70 = gimple_assign_rhs1 (_a3);
							  _q70 = do_valueize (valueize, _q70);
							  tree _q71 = gimple_assign_rhs2 (_a3);
							  _q71 = do_valueize (valueize, _q71);
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
									if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			{
			  tree _q50_pops[1];
			  if (gimple_nop_convert (_q50, _q50_pops, valueize))
			    {
			      tree _q60 = _q50_pops[0];
			      switch (TREE_CODE (_q60))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _q60))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  case NEGATE_EXPR:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      switch (TREE_CODE (_q70))
					        {
						case SSA_NAME:
						  if (gimple *_d3 = get_def (valueize, _q70))
						    {
						      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						        switch (gimple_assign_rhs_code (_a3))
							  {
							  CASE_CONVERT:
							    {
							      tree _q80 = gimple_assign_rhs1 (_a3);
							      _q80 = do_valueize (valueize, _q80);
							      switch (TREE_CODE (_q80))
							        {
								case SSA_NAME:
								  if (gimple *_d4 = get_def (valueize, _q80))
								    {
								      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								        switch (gimple_assign_rhs_code (_a4))
									  {
									  case LT_EXPR:
									    {
									      tree _q90 = gimple_assign_rhs1 (_a4);
									      _q90 = do_valueize (valueize, _q90);
									      tree _q91 = gimple_assign_rhs2 (_a4);
									      _q91 = do_valueize (valueize, _q91);
									      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
											    if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
											      return true;
											  }
										        }
										    }
									        }
									      break;
									    }
									  default:;
									  }
								    }
								  break;
							        default:;
							        }
							      break;
							    }
							  case LT_EXPR:
							    {
							      tree _q80 = gimple_assign_rhs1 (_a3);
							      _q80 = do_valueize (valueize, _q80);
							      tree _q81 = gimple_assign_rhs2 (_a3);
							      _q81 = do_valueize (valueize, _q81);
							      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
									    if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							        }
							      break;
							    }
							  default:;
							  }
						    }
						  break;
					        default:;
					        }
					      break;
					    }
					  default:;
					  }
				    }
				  break;
			        default:;
			        }
}
			}
		          break;
		        }
		      default:;
		      }
	        }
	      break;
	    default:;
	    }
}
    }
}
}
  {
    tree _p1_pops[1];
    if (gimple_nop_convert (_p1, _p1_pops, valueize))
      {
	tree _q30 = _p1_pops[0];
	switch (TREE_CODE (_q30))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _q30))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    case BIT_IOR_EXPR:
		      {
			tree _q40 = gimple_assign_rhs1 (_a1);
			_q40 = do_valueize (valueize, _q40);
			tree _q41 = gimple_assign_rhs2 (_a1);
			_q41 = do_valueize (valueize, _q41);
			if (tree_swap_operands_p (_q40, _q41))
			  std::swap (_q40, _q41);
			switch (TREE_CODE (_q40))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q40))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					switch (TREE_CODE (_q50))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q50))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case LT_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
										      if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
										        return true;
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      {
			tree _q40_pops[1];
			if (gimple_nop_convert (_q40, _q40_pops, valueize))
			  {
			    tree _q50 = _q40_pops[0];
			    switch (TREE_CODE (_q50))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _q50))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					case NEGATE_EXPR:
					  {
					    tree _q60 = gimple_assign_rhs1 (_a2);
					    _q60 = do_valueize (valueize, _q60);
					    switch (TREE_CODE (_q60))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _q60))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q70 = gimple_assign_rhs1 (_a3);
							    _q70 = do_valueize (valueize, _q70);
							    switch (TREE_CODE (_q70))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q70))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case LT_EXPR:
									  {
									    tree _q80 = gimple_assign_rhs1 (_a4);
									    _q80 = do_valueize (valueize, _q80);
									    tree _q81 = gimple_assign_rhs2 (_a4);
									    _q81 = do_valueize (valueize, _q81);
									    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											  tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
											  if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
											    return true;
											}
										      }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
}
		      }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
          default:;
          }
}
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LT_EXPR:
							        {
								  tree _q50 = gimple_assign_rhs1 (_a4);
								  _q50 = do_valueize (valueize, _q50);
								  tree _q51 = gimple_assign_rhs2 (_a4);
								  _q51 = do_valueize (valueize, _q51);
								  if (integer_zerop (_q51))
								    {
								      if (integer_onep (_q21))
									{
									  {
									    tree _p1_pops[1];
									    if (gimple_nop_convert (_p1, _p1_pops, valueize))
									      {
										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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										      tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
										      if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
										        return true;
										    }
										  }
}
									  }
									  if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
									    {
									      {
/* #line 1680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
										if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (integer_zerop (_q41))
						    {
						      if (integer_onep (_q21))
							{
							  {
							    tree _p1_pops[1];
							    if (gimple_nop_convert (_p1, _p1_pops, valueize))
							      {
								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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
								      if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
								        return true;
								    }
								  }
}
							  }
							  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
							    {
							      {
/* #line 1680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
								if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case NEGATE_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      switch (TREE_CODE (_q40))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q40))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q50 = gimple_assign_rhs1 (_a3);
						      _q50 = do_valueize (valueize, _q50);
						      switch (TREE_CODE (_q50))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q50))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LT_EXPR:
								    {
								      tree _q60 = gimple_assign_rhs1 (_a4);
								      _q60 = do_valueize (valueize, _q60);
								      tree _q61 = gimple_assign_rhs2 (_a4);
								      _q61 = do_valueize (valueize, _q61);
								      if (integer_zerop (_q61))
									{
									  if (integer_onep (_q21))
									    {
									      {
										tree _p1_pops[1];
										if (gimple_nop_convert (_p1, _p1_pops, valueize))
										  {
										    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											  tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
											  if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
											    return true;
											}
										      }
}
									      }
									      if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
										{
										  {
/* #line 1680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
										    if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  case LT_EXPR:
						    {
						      tree _q50 = gimple_assign_rhs1 (_a3);
						      _q50 = do_valueize (valueize, _q50);
						      tree _q51 = gimple_assign_rhs2 (_a3);
						      _q51 = do_valueize (valueize, _q51);
						      if (integer_zerop (_q51))
							{
							  if (integer_onep (_q21))
							    {
							      {
								tree _p1_pops[1];
								if (gimple_nop_convert (_p1, _p1_pops, valueize))
								  {
								    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									  tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
									  if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
									    return true;
									}
								      }
}
							      }
							      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
								{
								  {
/* #line 1680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
								    if (gimple_simplify_237 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
}
		}
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  switch (TREE_CODE (_q50))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q50))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case LT_EXPR:
							        {
								  tree _q60 = gimple_assign_rhs1 (_a4);
								  _q60 = do_valueize (valueize, _q60);
								  tree _q61 = gimple_assign_rhs2 (_a4);
								  _q61 = do_valueize (valueize, _q61);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
										if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
										  return true;
									      }
									    }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case LT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
								if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _q30_pops[1];
		  if (gimple_nop_convert (_q30, _q30_pops, valueize))
		    {
		      tree _q40 = _q30_pops[0];
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case NEGATE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      switch (TREE_CODE (_q50))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q50))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a3);
						      _q60 = do_valueize (valueize, _q60);
						      switch (TREE_CODE (_q60))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q60))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case LT_EXPR:
								    {
								      tree _q70 = gimple_assign_rhs1 (_a4);
								      _q70 = do_valueize (valueize, _q70);
								      tree _q71 = gimple_assign_rhs2 (_a4);
								      _q71 = do_valueize (valueize, _q71);
								      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
										    if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
										      return true;
										  }
									        }
									    }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						      break;
						    }
						  case LT_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a3);
						      _q60 = do_valueize (valueize, _q60);
						      tree _q61 = gimple_assign_rhs2 (_a3);
						      _q61 = do_valueize (valueize, _q61);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
								    if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
}
		}
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p1_pops[1];
  if (gimple_nop_convert (_p1, _p1_pops, valueize))
    {
      tree _q30 = _p1_pops[0];
      switch (TREE_CODE (_q30))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q30))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case BIT_IOR_EXPR:
		    {
		      tree _q40 = gimple_assign_rhs1 (_a1);
		      _q40 = do_valueize (valueize, _q40);
		      tree _q41 = gimple_assign_rhs2 (_a1);
		      _q41 = do_valueize (valueize, _q41);
		      if (tree_swap_operands_p (_q40, _q41))
		        std::swap (_q40, _q41);
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case NEGATE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      switch (TREE_CODE (_q50))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q50))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case LT_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a3);
						      _q60 = do_valueize (valueize, _q60);
						      tree _q61 = gimple_assign_rhs2 (_a3);
						      _q61 = do_valueize (valueize, _q61);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
								    if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
								      return true;
								  }
							        }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    {
		      tree _q40_pops[1];
		      if (gimple_nop_convert (_q40, _q40_pops, valueize))
		        {
			  tree _q50 = _q40_pops[0];
			  switch (TREE_CODE (_q50))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _q50))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  switch (TREE_CODE (_q60))
					    {
					    case SSA_NAME:
					      if (gimple *_d3 = get_def (valueize, _q60))
					        {
						  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						    switch (gimple_assign_rhs_code (_a3))
						      {
						      case LT_EXPR:
						        {
							  tree _q70 = gimple_assign_rhs1 (_a3);
							  _q70 = do_valueize (valueize, _q70);
							  tree _q71 = gimple_assign_rhs2 (_a3);
							  _q71 = do_valueize (valueize, _q71);
							  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
									if (gimple_simplify_318 (res_op, seq, valueize, type, captures))
									  return true;
								      }
								    }
							        }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
}
		    }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if (gimple_negate_expr_p (_q50, valueize))
						    {
						      {
/* #line 1720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
							if (gimple_simplify_57 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				if (gimple_negate_expr_p (_p1, valueize))
				  {
				    {
/* #line 1720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
				      if (gimple_simplify_57 (res_op, seq, valueize, type, captures))
				        return true;
				    }
				  }
			          break;
			        }
			      case LT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      case EQ_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      case NE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      case GT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      case UNORDERED_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, UNORDERED_EXPR))
				      return true;
				  }
			          break;
			        }
			      case ORDERED_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, ORDERED_EXPR))
				      return true;
				  }
			          break;
			        }
			      case UNLT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, UNLT_EXPR))
				      return true;
				  }
			          break;
			        }
			      case UNLE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, UNLE_EXPR))
				      return true;
				  }
			          break;
			        }
			      case UNGT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, UNGT_EXPR))
				      return true;
				  }
			          break;
			        }
			      case UNGE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, UNGE_EXPR))
				      return true;
				  }
			          break;
			        }
			      case UNEQ_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      case LTGT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _p1 };
				    if (gimple_simplify_487 (res_op, seq, valueize, type, captures, LTGT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (gimple_negate_expr_p (_q20, valueize))
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				CASE_CONVERT:
				  {
				    tree _q40 = gimple_assign_rhs1 (_a2);
				    _q40 = do_valueize (valueize, _q40);
				    switch (TREE_CODE (_q40))
				      {
				      case SSA_NAME:
				        if (gimple *_d3 = get_def (valueize, _q40))
				          {
					    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					      switch (gimple_assign_rhs_code (_a3))
						{
						case NEGATE_EXPR:
						  {
						    tree _q50 = gimple_assign_rhs1 (_a3);
						    _q50 = do_valueize (valueize, _q50);
						    {
/* #line 1720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q20 };
						      if (gimple_simplify_57 (res_op, seq, valueize, type, captures))
						        return true;
						    }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    break;
				  }
				case NEGATE_EXPR:
				  {
				    tree _q40 = gimple_assign_rhs1 (_a2);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 1720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
				      if (gimple_simplify_57 (res_op, seq, valueize, type, captures))
				        return true;
				    }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if (gimple_negate_expr_p (_q40, valueize))
				    {
				      {
/* #line 1720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_57 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (gimple_negate_expr_p (_p1, valueize))
		  {
		    {
/* #line 1720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_57 (res_op, seq, valueize, type, captures))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (gimple_negate_expr_p (_p0, valueize))
  {
    switch (TREE_CODE (_p1))
      {
      case SSA_NAME:
        if (gimple *_d1 = get_def (valueize, _p1))
          {
	    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	      switch (gimple_assign_rhs_code (_a1))
		{
		CASE_CONVERT:
		  {
		    tree _q30 = gimple_assign_rhs1 (_a1);
		    _q30 = do_valueize (valueize, _q30);
		    switch (TREE_CODE (_q30))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q30))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case NEGATE_EXPR:
				  {
				    tree _q40 = gimple_assign_rhs1 (_a2);
				    _q40 = do_valueize (valueize, _q40);
				    {
/* #line 1720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
				      if (gimple_simplify_57 (res_op, seq, valueize, type, captures))
				        return true;
				    }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    break;
		  }
		case NEGATE_EXPR:
		  {
		    tree _q30 = gimple_assign_rhs1 (_a1);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 1720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
		      if (gimple_simplify_57 (res_op, seq, valueize, type, captures))
		        return true;
		    }
		    break;
		  }
		default:;
		}
          }
        break;
      default:;
      }
  }
if (gimple_zero_one_valued_p (_p0, valueize))
  {
    if (gimple_zero_one_valued_p (_p1, valueize))
      {
	{
/* #line 1953 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1953 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (INTEGRAL_TYPE_P (type)
)
	    {
	      gimple_seq *lseq = seq;
	      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", 1954, __FILE__, __LINE__);
	      {
		res_op->set_op (BIT_AND_EXPR, type, 2);
		res_op->ops[0] = captures[0];
		res_op->ops[1] = captures[1];
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1429:;
	    }
	}
      }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      case EQ_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      case NE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      case GT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      case UNORDERED_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, UNORDERED_EXPR))
				      return true;
				  }
			          break;
			        }
			      case ORDERED_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, ORDERED_EXPR))
				      return true;
				  }
			          break;
			        }
			      case UNLT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, UNLT_EXPR))
				      return true;
				  }
			          break;
			        }
			      case UNLE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, UNLE_EXPR))
				      return true;
				  }
			          break;
			        }
			      case UNGT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, UNGT_EXPR))
				      return true;
				  }
			          break;
			        }
			      case UNGE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, UNGE_EXPR))
				      return true;
				  }
			          break;
			        }
			      case UNEQ_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      case LTGT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p0 };
				    if (gimple_simplify_44 (res_op, seq, valueize, type, captures, LTGT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
						    {
						      {
/* #line 4220 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
							if (gimple_simplify_129 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
				    {
				      {
/* #line 4220 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q31 };
					if (gimple_simplify_129 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case EXACT_DIV_EXPR:
							        {
								  tree _q50 = gimple_assign_rhs1 (_a4);
								  _q50 = do_valueize (valueize, _q50);
								  tree _q51 = gimple_assign_rhs2 (_a4);
								  _q51 = do_valueize (valueize, _q51);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _q51 };
										    if (gimple_simplify_132 (res_op, seq, valueize, type, captures, PLUS_EXPR))
										      return true;
										  }
									        }
									      break;
									    }
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case EXACT_DIV_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q41 };
								    if (gimple_simplify_132 (res_op, seq, valueize, type, captures, PLUS_EXPR))
								      return true;
								  }
							        }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case MINUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case EXACT_DIV_EXPR:
							        {
								  tree _q50 = gimple_assign_rhs1 (_a4);
								  _q50 = do_valueize (valueize, _q50);
								  tree _q51 = gimple_assign_rhs2 (_a4);
								  _q51 = do_valueize (valueize, _q51);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										    tree captures[4] ATTRIBUTE_UNUSED = { _q50, _q51, _q31, _q51 };
										    if (gimple_simplify_132 (res_op, seq, valueize, type, captures, MINUS_EXPR))
										      return true;
										  }
									        }
									      break;
									    }
								          default:;
								          }
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case EXACT_DIV_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q41 };
								    if (gimple_simplify_132 (res_op, seq, valueize, type, captures, MINUS_EXPR))
								      return true;
								  }
							        }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
				    {
				      {
/* #line 4220 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
					if (gimple_simplify_129 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
		    {
		      {
/* #line 4220 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q21 };
			if (gimple_simplify_129 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case EXACT_DIV_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _q41 };
								    if (gimple_simplify_132 (res_op, seq, valueize, type, captures, PLUS_EXPR))
								      return true;
								  }
							        }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q31 };
						    if (gimple_simplify_132 (res_op, seq, valueize, type, captures, PLUS_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case EXACT_DIV_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q21, _q41 };
								    if (gimple_simplify_132 (res_op, seq, valueize, type, captures, MINUS_EXPR))
								      return true;
								  }
							        }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q31 };
						    if (gimple_simplify_132 (res_op, seq, valueize, type, captures, MINUS_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 4291 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	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", 4291, __FILE__, __LINE__);
	{
	  res_op->set_op (NEGATE_EXPR, type, 1);
	  res_op->ops[0] = captures[0];
	  res_op->resimplify (lseq, valueize);
	  return true;
	}
next_after_fail1430:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4297 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			  if (gimple_simplify_471 (res_op, seq, valueize, type, captures))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q31))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4297 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
			  if (gimple_simplify_471 (res_op, seq, valueize, type, captures))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    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", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1431;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1431;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1431:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			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", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1432;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1432;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1432:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			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", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1433;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1433;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1433:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_167 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF))
			    return true;
			}
		      }
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    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", 6516, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_SQRTF, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1434;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1434:;
					  }
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_167 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT))
			    return true;
			}
		      }
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    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", 6516, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_SQRT, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1435;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1435:;
					  }
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_167 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL))
			    return true;
			}
		      }
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    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", 6516, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_SQRTL, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1436;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1436:;
					  }
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF16:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_167 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF16))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF32:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_167 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF32))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF64:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_167 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF64))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF128:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_167 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF128))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF32X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_167 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF32X))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF64X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_167 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF64X))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF128X:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_167 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF128X))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
		      {
			{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
			  if (gimple_simplify_167 (res_op, seq, valueize, type, captures, CFN_SQRT))
			    return true;
			}
		      }
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    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", 6516, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_SQRT, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1437;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1437:;
					  }
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_CBRTF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    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", 6516, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_CBRTF, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1438;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1438:;
					  }
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CBRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_CBRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    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", 6516, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_CBRT, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1439;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1439:;
					  }
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_CBRTL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    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", 6516, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_CBRTL, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1440;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1440:;
					  }
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXPF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_EXPF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    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", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_EXPF, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1441;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1441:;
					  }
				      }
				    }
				  break;
				case CFN_BUILT_IN_POWF:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      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", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXPF, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGF, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1442;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1442;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1442;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1442:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_EXP:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1443;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_EXP, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1443;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1443:;
					  }
				      }
				    }
				  break;
				case CFN_BUILT_IN_POW:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1444;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1444;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1444;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1444;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1444:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXPL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_EXPL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1445;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_EXPL, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1445;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1445:;
					  }
				      }
				    }
				  break;
				case CFN_BUILT_IN_POWL:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1446;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXPL, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGL, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1446;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1446;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1446;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1446:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_EXP:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1447;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_EXP, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1447;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1447:;
					  }
				      }
				    }
				  break;
				case CFN_POW:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1448;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_EXP, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1448;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1448;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1448;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1448:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_EXP2F:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1449;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_EXP2F, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1449;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1449:;
					  }
				      }
				    }
				  break;
				case CFN_BUILT_IN_POWF:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1450;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP2F, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2F, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1450;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1450;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1450;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1450:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_EXP2:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1451;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_EXP2, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1451;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1451:;
					  }
				      }
				    }
				  break;
				case CFN_BUILT_IN_POW:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1452;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP2, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1452;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1452;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1452;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1452:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_EXP2L:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1453;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_EXP2L, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1453;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1453:;
					  }
				      }
				    }
				  break;
				case CFN_BUILT_IN_POWL:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1454;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP2L, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2L, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1454;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1454;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1454;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1454:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_EXP2:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1455;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_EXP2, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1455;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1455:;
					  }
				      }
				    }
				  break;
				case CFN_POW:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1456;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_EXP2, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG2, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1456;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1456;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1456;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1456:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_EXP10F:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1457;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_EXP10F, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1457;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1457:;
					  }
				      }
				    }
				  break;
				case CFN_BUILT_IN_POWF:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1458;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP10F, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1458;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1458;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1458;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1458:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_EXP10:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1459;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_EXP10, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1459;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1459:;
					  }
				      }
				    }
				  break;
				case CFN_BUILT_IN_POW:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1460;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP10, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1460;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1460;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1460;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1460:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_EXP10L:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1461;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_EXP10L, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1461;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1461:;
					  }
				      }
				    }
				  break;
				case CFN_BUILT_IN_POWL:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1462;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP10L, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1462;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1462;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1462;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1462:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_EXP10:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1463;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_EXP10, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1463;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1463:;
					  }
				      }
				    }
				  break;
				case CFN_POW:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1464;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_EXP10, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG10, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1464;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1464;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1464;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1464:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POW10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POW10F:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1465;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_POW10F, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1465;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1465:;
					  }
				      }
				    }
				  break;
				case CFN_BUILT_IN_POWF:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1466;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_POW10F, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1466;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1466;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1466;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1466:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POW10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POW10:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1467;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_POW10, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1467;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1467:;
					  }
				      }
				    }
				  break;
				case CFN_BUILT_IN_POW:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1468;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_POW10, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1468;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1468;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1468;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1468:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POW10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POW10L:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (flag_unsafe_math_optimizations
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[2])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1469;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6522, __FILE__, __LINE__);
					    {
					      res_op->set_op (CFN_BUILT_IN_POW10L, type, 1);
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[1];
						_o1[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1469;
						res_op->ops[0] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1469:;
					  }
				      }
				    }
				  break;
				case CFN_BUILT_IN_POWL:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_call_arg (_c2, 1);
				      _q41 = do_valueize (valueize, _q41);
				      switch (TREE_CODE (_q40))
				        {
					case REAL_CST:
					  {
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0, _q20 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1470;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_POW10L, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1470;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1470;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1470;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1470:;
						    }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case REAL_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p1))
			        {
				  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
				    switch (gimple_call_combined_fn (_c2))
				      {
				      case CFN_BUILT_IN_EXPF:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1471;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXPF, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGF, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1471;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1471;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1471;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1471:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_BUILT_IN_EXP2F:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1472;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP2F, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2F, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1472;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1472;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1472;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1472:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_BUILT_IN_EXP10F:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1473;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP10F, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1473;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1473;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1473;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1473:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_BUILT_IN_POW10F:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1474;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_POW10F, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10F, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1474;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1474;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1474;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1474:;
						    }
						}
					    }
				          }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
				if (gimple_simplify_72 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
				  return true;
			      }
			    }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case REAL_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p1))
			        {
				  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
				    switch (gimple_call_combined_fn (_c2))
				      {
				      case CFN_BUILT_IN_EXP:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1475;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1475;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1475;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1475;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1475:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_BUILT_IN_EXP2:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1476;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP2, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1476;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1476;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1476;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1476:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_BUILT_IN_EXP10:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1477;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP10, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1477;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1477;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1477;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1477:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_BUILT_IN_POW10:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1478;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_POW10, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1478;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1478;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1478;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1478:;
						    }
						}
					    }
				          }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
				if (gimple_simplify_72 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POW))
				  return true;
			      }
			    }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case REAL_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p1))
			        {
				  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
				    switch (gimple_call_combined_fn (_c2))
				      {
				      case CFN_BUILT_IN_EXPL:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1479;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXPL, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOGL, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1479;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1479;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1479;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1479:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_BUILT_IN_EXP2L:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1480;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP2L, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2L, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1480;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1480;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1480;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1480:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_BUILT_IN_EXP10L:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1481;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_EXP10L, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1481;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1481;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1481;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1481:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_BUILT_IN_POW10L:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1482;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_BUILT_IN_POW10L, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG10L, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1482;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1482;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1482;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1482:;
						    }
						}
					    }
				          }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
				if (gimple_simplify_72 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
				  return true;
			      }
			    }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_q20))
		      {
		      case REAL_CST:
		        {
			  switch (TREE_CODE (_p1))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p1))
			        {
				  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
				    switch (gimple_call_combined_fn (_c2))
				      {
				      case CFN_EXP:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1483;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_EXP, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1483;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1483;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1483;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1483:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_EXP2:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1484;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_EXP2, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG2, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1484;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1484;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1484;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1484:;
						    }
						}
					    }
				          }
				        break;
				      case CFN_EXP10:
				        if (gimple_call_num_args (_c2) == 1)
				          {
					    tree _q50 = gimple_call_arg (_c2, 0);
					    _q50 = do_valueize (valueize, _q50);
					    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (flag_unsafe_math_optimizations
)
						{
/* #line 6658 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  if (real_compare (GT_EXPR, TREE_REAL_CST_PTR (captures[1]), &dconst0)
 && real_isfinite (TREE_REAL_CST_PTR (captures[1]))
)
						    {
						      gimple_seq *lseq = seq;
						      if (lseq
						          && (!single_use (captures[0])
						              || !single_use (captures[3])))
						        lseq = NULL;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1485;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6660, __FILE__, __LINE__);
						      {
							res_op->set_op (CFN_EXP10, type, 1);
							{
							  tree _o1[2], _r1;
							  {
							    tree _o2[2], _r2;
							    {
							      tree _o3[1], _r3;
							      _o3[0] = captures[1];
							      gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG10, TREE_TYPE (_o3[0]), _o3[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r3) goto next_after_fail1485;
							      _o2[0] = _r3;
							    }
							    _o2[1] = captures[2];
							    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
							    tem_op.resimplify (lseq, valueize);
							    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r2) goto next_after_fail1485;
							    _o1[0] = _r2;
							  }
							  _o1[1] = captures[4];
							  gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							  tem_op.resimplify (lseq, valueize);
							  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							  if (!_r1) goto next_after_fail1485;
							  res_op->ops[0] = _r1;
							}
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1485:;
						    }
						}
					    }
				          }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
				if (gimple_simplify_72 (res_op, seq, valueize, type, captures, CFN_POW))
				  return true;
			      }
			    }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_TANF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_COSF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_138 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_TAN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_COS:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_138 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_TANL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_COSL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_138 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_TAN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_COS:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_138 (res_op, seq, valueize, type, captures, CFN_TAN, CFN_COS, CFN_SIN))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COSF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_TANF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
					    if (gimple_simplify_138 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COS:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_TAN:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
					    if (gimple_simplify_138 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COSL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_TANL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
					    if (gimple_simplify_138 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_COS:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_TAN:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _p0 };
					    if (gimple_simplify_138 (res_op, seq, valueize, type, captures, CFN_TAN, CFN_COS, CFN_SIN))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_POWF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
				if (gimple_simplify_72 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
				if (gimple_simplify_72 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POW))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
				if (gimple_simplify_72 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		      }
	          }
	        break;
	      case CFN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
				if (gimple_simplify_72 (res_op, seq, valueize, type, captures, CFN_POW))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case VEC_PERM_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      tree _q61 = gimple_assign_rhs2 (_a2);
				      _q61 = do_valueize (valueize, _q61);
				      tree _q62 = gimple_assign_rhs3 (_a2);
				      _q62 = do_valueize (valueize, _q62);
				      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 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (VECTOR_INTEGER_TYPE_P (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1486;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8488, __FILE__, __LINE__);
						    {
						      res_op->set_op (VEC_PERM_EXPR, type, 3);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[2];
							gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1486;
							captures[3] = _r1;
						      }
						      res_op->ops[0] = captures[3];
						      res_op->ops[1] = captures[3];
						      res_op->ops[2] = captures[1];
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1486:;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_q22))
		        {
			case VECTOR_CST:
			  {
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p1))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					case VEC_PERM_EXPR:
					  {
					    tree _q60 = gimple_assign_rhs1 (_a2);
					    _q60 = do_valueize (valueize, _q60);
					    tree _q61 = gimple_assign_rhs2 (_a2);
					    _q61 = do_valueize (valueize, _q61);
					    tree _q62 = gimple_assign_rhs3 (_a2);
					    _q62 = do_valueize (valueize, _q62);
					    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 8495 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
							    if (gimple_simplify_227 (res_op, seq, valueize, type, captures, MULT_EXPR))
							      return true;
							  }
						          break;
						        }
						      default:;
						      }
						  }
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_POWF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POWF:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q50 = gimple_call_arg (_c2, 0);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_call_arg (_c2, 1);
				      _q51 = do_valueize (valueize, _q51);
				      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					    if (gimple_simplify_187 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
					      return true;
					  }
				        }
				      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					    if (gimple_simplify_300 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POW:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q50 = gimple_call_arg (_c2, 0);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_call_arg (_c2, 1);
				      _q51 = do_valueize (valueize, _q51);
				      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					    if (gimple_simplify_187 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POW))
					      return true;
					  }
				        }
				      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					    if (gimple_simplify_300 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POW))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POWL:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q50 = gimple_call_arg (_c2, 0);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_call_arg (_c2, 1);
				      _q51 = do_valueize (valueize, _q51);
				      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					    if (gimple_simplify_187 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
					      return true;
					  }
				        }
				      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					    if (gimple_simplify_300 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_POW:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q50 = gimple_call_arg (_c2, 0);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_call_arg (_c2, 1);
				      _q51 = do_valueize (valueize, _q51);
				      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					    if (gimple_simplify_187 (res_op, seq, valueize, type, captures, CFN_POW))
					      return true;
					  }
				        }
				      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					    if (gimple_simplify_300 (res_op, seq, valueize, type, captures, CFN_POW))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWIF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POWIF:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q50 = gimple_call_arg (_c2, 0);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_call_arg (_c2, 1);
				      _q51 = do_valueize (valueize, _q51);
				      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[3])))
						  lseq = NULL;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1487;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6867, __FILE__, __LINE__);
						{
						  res_op->set_op (CFN_BUILT_IN_POWIF, type, 2);
						  {
						    tree _o1[2], _r1;
						    _o1[0] = captures[1];
						    _o1[1] = captures[4];
						    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1487;
						    res_op->ops[0] = _r1;
						  }
						  res_op->ops[1] = captures[2];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1487:;
					      }
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWI:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POWI:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q50 = gimple_call_arg (_c2, 0);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_call_arg (_c2, 1);
				      _q51 = do_valueize (valueize, _q51);
				      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[3])))
						  lseq = NULL;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1488;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6867, __FILE__, __LINE__);
						{
						  res_op->set_op (CFN_BUILT_IN_POWI, type, 2);
						  {
						    tree _o1[2], _r1;
						    _o1[0] = captures[1];
						    _o1[1] = captures[4];
						    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1488;
						    res_op->ops[0] = _r1;
						  }
						  res_op->ops[1] = captures[2];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1488:;
					      }
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWIL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_POWIL:
				  if (gimple_call_num_args (_c2) == 2)
				    {
				      tree _q50 = gimple_call_arg (_c2, 0);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_call_arg (_c2, 1);
				      _q51 = do_valueize (valueize, _q51);
				      if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[0])
						        || !single_use (captures[3])))
						  lseq = NULL;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1489;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6867, __FILE__, __LINE__);
						{
						  res_op->set_op (CFN_BUILT_IN_POWIL, type, 2);
						  {
						    tree _o1[2], _r1;
						    _o1[0] = captures[1];
						    _o1[1] = captures[4];
						    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1489;
						    res_op->ops[0] = _r1;
						  }
						  res_op->ops[1] = captures[2];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1489:;
					      }
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_EQ_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 255 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_75 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 255 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_75 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case CEIL_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_11 (res_op, seq, valueize, type, captures, EQ_EXPR, CEIL_MOD_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case FLOOR_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_11 (res_op, seq, valueize, type, captures, EQ_EXPR, FLOOR_MOD_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case ROUND_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_11 (res_op, seq, valueize, type, captures, EQ_EXPR, ROUND_MOD_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case TRUNC_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_11 (res_op, seq, valueize, type, captures, EQ_EXPR, TRUNC_MOD_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (gimple_zero_one_valued_p (_q20, valueize))
		    {
		      switch (TREE_CODE (_q21))
		        {
			case INTEGER_CST:
			  {
			    if (integer_zerop (_p1))
			      {
				{
/* #line 2051 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 2051 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
				    {
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1490;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2054, __FILE__, __LINE__);
				      {
					res_op->set_op (EQ_EXPR, type, 2);
					res_op->ops[0] = captures[0];
					res_op->ops[1] = captures[2];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1490:;
				    }
				}
			      }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (gimple_truth_valued_p (_q20, valueize))
		    {
		      if (gimple_truth_valued_p (_q21, valueize))
			{
			  switch (TREE_CODE (_p1))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p1))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case BIT_XOR_EXPR:
				        {
					  tree _q50 = gimple_assign_rhs1 (_a2);
					  _q50 = do_valueize (valueize, _q50);
					  tree _q51 = gimple_assign_rhs2 (_a2);
					  _q51 = do_valueize (valueize, _q51);
					  if (tree_swap_operands_p (_q50, _q51))
					    std::swap (_q50, _q51);
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1491;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1491;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1491:;
						  }
						  {
/* #line 2074 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1492;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1492;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1492:;
						  }
					        }
					    }
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1493;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1493;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1493:;
						  }
						  {
/* #line 2074 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1494;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1494;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1494:;
						  }
					        }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_truth_valued_p (_q50, valueize))
					{
					  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					    {
					      if (gimple_truth_valued_p (_q51, valueize))
						{
						  {
/* #line 2074 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1495;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1495;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1495:;
						  }
						  {
/* #line 2074 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1496;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1496;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1496:;
						  }
					        }
					    }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_truth_valued_p (_q50, valueize))
					{
					  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
					    {
					      if (gimple_truth_valued_p (_q51, valueize))
						{
						  {
/* #line 2074 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1497;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1497;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1497:;
						  }
						  {
/* #line 2074 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1498;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2074, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_NOT_EXPR, type, 1);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1498;
							res_op->ops[0] = _r1;
						      }
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1498:;
						  }
					        }
					    }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (gimple_truth_valued_p (_q20, valueize))
		    {
		      if (gimple_truth_valued_p (_p1, valueize))
			{
			  {
/* #line 2114 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_508 (res_op, seq, valueize, type, captures))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2152 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_121 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2152 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_121 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2152 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_121 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2152 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_121 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case MULT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					  {
					    {
/* #line 2162 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					      if (gimple_simplify_458 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case EXACT_DIV_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
									  {
									    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
									      if (gimple_simplify_404 (res_op, seq, valueize, type, captures, EQ_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q41))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
						    {
						      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
							if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
						    {
						      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
							if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
				  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
				    {
				      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _p1_pops[1];
		  if (gimple_nop_convert (_p1, _p1_pops, valueize))
		    {
		      tree _q40 = _p1_pops[0];
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case PLUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
							    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      switch (TREE_CODE (_q50))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q50))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a3);
						      _q60 = do_valueize (valueize, _q60);
						      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
							{
							  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
							    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
					{
					  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
}
		}
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EXACT_DIV_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					  {
					    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					      if (gimple_simplify_404 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2224 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_395 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1499;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2299, __FILE__, __LINE__);
					    {
					      res_op->set_op (EQ_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1499:;
					  }
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1500;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2299, __FILE__, __LINE__);
					    {
					      res_op->set_op (EQ_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1500:;
					  }
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1501;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2299, __FILE__, __LINE__);
					    {
					      res_op->set_op (EQ_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1501:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1502;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2299, __FILE__, __LINE__);
					    {
					      res_op->set_op (EQ_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1502:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
						    {
						      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
							if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
							if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
				    {
				      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
			if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
			if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1503;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2315, __FILE__, __LINE__);
					    {
					      res_op->set_op (EQ_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1503:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1504;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2342, __FILE__, __LINE__);
					    {
					      res_op->set_op (EQ_EXPR, type, 2);
					      res_op->ops[0] = captures[2];
					      res_op->ops[1] = captures[1];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1504:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			if (gimple_simplify_469 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_DIFF_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
					if (gimple_simplify_253 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_logical_inverted_value (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	{
	  if (gimple_truth_valued_p (_p1, valueize))
	    {
	      {
/* #line 1931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		if (gimple_simplify_190 (res_op, seq, valueize, type, captures, EQ_EXPR))
		  return true;
	      }
	    }
        }
}
}
{
  tree _p0_pops[1];
  if (gimple_nop_convert (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q20))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case PLUS_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      if (tree_swap_operands_p (_q30, _q31))
		        std::swap (_q30, _q31);
		      switch (TREE_CODE (_q31))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q31))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
							{
							  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
							    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
							{
							  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
							    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_q31))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q31))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
					{
					  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
					{
					  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
			      return true;
			  }
		        }
		      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
			{
			  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
			    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
			      return true;
			  }
		        }
		      break;
		    }
		  case POINTER_PLUS_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
							{
							  {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
							    if (gimple_simplify_333 (res_op, seq, valueize, type, captures, EQ_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
					    if (gimple_simplify_333 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
					    if (gimple_simplify_333 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			    if (gimple_simplify_333 (res_op, seq, valueize, type, captures, EQ_EXPR))
			      return true;
			  }
		        }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
if (gimple_truth_valued_p (_p0, valueize))
  {
    switch (TREE_CODE (_p1))
      {
      case SSA_NAME:
        if (gimple *_d1 = get_def (valueize, _p1))
          {
	    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	      switch (gimple_assign_rhs_code (_a1))
		{
		case BIT_NOT_EXPR:
		  {
		    tree _q30 = gimple_assign_rhs1 (_a1);
		    _q30 = do_valueize (valueize, _q30);
		    if (gimple_truth_valued_p (_q30, valueize))
		      {
			{
/* #line 2114 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			  if (gimple_simplify_508 (res_op, seq, valueize, type, captures))
			    return true;
			}
		      }
		    break;
		  }
		default:;
		}
          }
        break;
      default:;
      }
  {
    tree _p1_pops[1];
    if (gimple_logical_inverted_value (_p1, _p1_pops, valueize))
      {
	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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      if (gimple_simplify_190 (res_op, seq, valueize, type, captures, EQ_EXPR))
	        return true;
	    }
	  }
}
  }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q31))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q31))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
				    {
				      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
			if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
			if (gimple_simplify_461 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p1_pops[1];
  if (gimple_nop_convert (_p1, _p1_pops, valueize))
    {
      tree _q30 = _p1_pops[0];
      switch (TREE_CODE (_q30))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q30))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case PLUS_EXPR:
		    {
		      tree _q40 = gimple_assign_rhs1 (_a1);
		      _q40 = do_valueize (valueize, _q40);
		      tree _q41 = gimple_assign_rhs2 (_a1);
		      _q41 = do_valueize (valueize, _q41);
		      if (tree_swap_operands_p (_q40, _q41))
		        std::swap (_q40, _q41);
		      switch (TREE_CODE (_q41))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q41))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
					{
					  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					{
					  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
			    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
			      return true;
			  }
		        }
		      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
			{
			  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
			    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, EQ_EXPR))
			      return true;
			  }
		        }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
						    {
						      {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
							if (gimple_simplify_189 (res_op, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
					if (gimple_simplify_189 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _p1_pops[1];
		  if (gimple_nop_convert (_p1, _p1_pops, valueize))
		    {
		      tree _q40 = _p1_pops[0];
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case POINTER_PLUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      switch (TREE_CODE (_q50))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q50))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a3);
						      _q60 = do_valueize (valueize, _q60);
						      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
							{
							  {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
							    if (gimple_simplify_333 (res_op, seq, valueize, type, captures, EQ_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
					    if (gimple_simplify_333 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
}
		}
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
    tree _p1_pops[1];
    if (gimple_nop_convert (_p1, _p1_pops, valueize))
      {
	tree _q30 = _p1_pops[0];
	switch (TREE_CODE (_q30))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _q30))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    case POINTER_PLUS_EXPR:
		      {
			tree _q40 = gimple_assign_rhs1 (_a1);
			_q40 = do_valueize (valueize, _q40);
			tree _q41 = gimple_assign_rhs2 (_a1);
			_q41 = do_valueize (valueize, _q41);
			switch (TREE_CODE (_q40))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q40))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
					      if (gimple_simplify_333 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
			      if (gimple_simplify_333 (res_op, seq, valueize, type, captures, EQ_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
          default:;
          }
}
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case POINTER_PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
							if (gimple_simplify_189 (res_op, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
					if (gimple_simplify_189 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
					if (gimple_simplify_189 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
			if (gimple_simplify_189 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  {
/* #line 2386 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
				    if (gimple_simplify_495 (res_op, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 2386 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
			  if (gimple_simplify_495 (res_op, seq, valueize, type, captures, EQ_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case POINTER_PLUS_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_q50))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q50))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ADDR_EXPR:
							        {
								  {
/* #line 2391 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
								    if (gimple_simplify_123 (res_op, seq, valueize, type, captures, EQ_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    case ADDR_EXPR:
						      {
							{
/* #line 2391 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
							  if (gimple_simplify_123 (res_op, seq, valueize, type, captures, EQ_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case POINTER_PLUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					switch (TREE_CODE (_q50))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q50))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case ADDR_EXPR:
						      {
							{
/* #line 2391 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
							  if (gimple_simplify_123 (res_op, seq, valueize, type, captures, EQ_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					      }
					    break;
					  case ADDR_EXPR:
					    {
					      {
/* #line 2391 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
						if (gimple_simplify_123 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case POINTER_PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
					if (gimple_simplify_189 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
			if (gimple_simplify_189 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 2386 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
				    if (gimple_simplify_495 (res_op, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _p1))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    case POINTER_PLUS_EXPR:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			tree _q31 = gimple_assign_rhs2 (_a1);
			_q31 = do_valueize (valueize, _q31);
			{
/* #line 2386 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
			  if (gimple_simplify_495 (res_op, seq, valueize, type, captures, EQ_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_469 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 2414 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_367 (res_op, seq, valueize, type, captures, EQ_EXPR, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case MINUS_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_q50))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (_q51))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q51))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    CASE_CONVERT:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
									  {
									    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
									      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_q31))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q31))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q50 = gimple_assign_rhs1 (_a3);
							_q50 = do_valueize (valueize, _q50);
							switch (TREE_CODE (_p1))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _p1))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    CASE_CONVERT:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
									  {
									    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
									      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
							      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
							  {
							    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
							      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
					      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case MINUS_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
							      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case MINUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_q41))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q41))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
							  {
							    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
							      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
							  {
							    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
							      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
					      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
					  {
					    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
					      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_q41))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q41))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
							  {
							    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
							      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
					      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
					      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, EQ_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MIN_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MIN_EXPR, EQ_EXPR, LE_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MIN_EXPR, EQ_EXPR, LE_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3574 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_265 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MAX_EXPR, EQ_EXPR, GE_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MAX_EXPR, EQ_EXPR, GE_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3583 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_29 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_with_possible_nonzero_bits2 (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      {
	tree _p1_pops[1];
	if (gimple_with_certain_nonzero_bits2 (_p1, _p1_pops, valueize))
	  {
	    tree _q40 = _p1_pops[0];
	    {
/* #line 2451 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
	      if (gimple_simplify_526 (res_op, seq, valueize, type, captures, EQ_EXPR))
	        return true;
	    }
}
      }
}
}
{
  tree _p0_pops[1];
  if (gimple_with_certain_nonzero_bits2 (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      {
	tree _p1_pops[1];
	if (gimple_with_possible_nonzero_bits2 (_p1, _p1_pops, valueize))
	  {
	    tree _q40 = _p1_pops[0];
	    {
/* #line 2451 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
	      if (gimple_simplify_526 (res_op, seq, valueize, type, captures, EQ_EXPR))
	        return true;
	    }
}
      }
}
}
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MIN_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MIN_EXPR, EQ_EXPR, LE_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MIN_EXPR, EQ_EXPR, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MAX_EXPR, EQ_EXPR, GE_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MAX_EXPR, EQ_EXPR, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_pow2p (_q30))
				    {
				      if (integer_pow2p (_q21))
					{
					  if (integer_zerop (_p1))
					    {
					      {
/* #line 3783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
						if (gimple_simplify_328 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
						  return true;
					      }
					    }
				        }
				    }
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						      if (gimple_simplify_397 (res_op, seq, valueize, type, captures, EQ_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
				  if (integer_onep (_q30))
				    {
				      if (integer_pow2p (_q21))
					{
					  if (integer_zerop (_p1))
					    {
					      {
/* #line 3953 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
						if (gimple_simplify_153 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
						  return true;
					      }
					    }
				        }
				    }
			          break;
			        }
			      case RSHIFT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_pow2p (_q30))
				    {
				      if (integer_pow2p (_q21))
					{
					  if (integer_zerop (_p1))
					    {
					      {
/* #line 3790 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
						if (gimple_simplify_27 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
						  return true;
					      }
					    }
				        }
				    }
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						      if (gimple_simplify_272 (res_op, seq, valueize, type, captures, EQ_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case LSHIFT_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (integer_onep (_q40))
					{
					  if (integer_pow2p (_q21))
					    {
					      if (integer_zerop (_p1))
						{
						  {
/* #line 3953 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
						    if (gimple_simplify_153 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
}
		}
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3803 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_467 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case LROTATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LROTATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 3999 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_523 (res_op, seq, valueize, type, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4003 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_32 (res_op, seq, valueize, type, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4007 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  if (gimple_simplify_369 (res_op, seq, valueize, type, captures, LROTATE_EXPR, RROTATE_EXPR, EQ_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case RROTATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case RROTATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 3999 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_523 (res_op, seq, valueize, type, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4003 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_32 (res_op, seq, valueize, type, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4007 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  if (gimple_simplify_369 (res_op, seq, valueize, type, captures, RROTATE_EXPR, LROTATE_EXPR, EQ_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case TRUNC_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
					    if (gimple_simplify_424 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case TRUNC_DIV_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
					    if (gimple_simplify_424 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case TRUNC_DIV_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
					    if (gimple_simplify_424 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q31))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q31))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case TRUNC_DIV_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
					    if (gimple_simplify_424 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1505;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), EQ_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1505;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), EQ_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1505;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1505:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1506;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), EQ_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1506;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), EQ_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1506;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1506:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_BSWAP16:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_BSWAP16:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 4365 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_81 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 4369 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_218 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP16))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_BSWAP32:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_BSWAP32:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 4365 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_81 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 4369 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_218 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP32))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_BSWAP64:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_BSWAP64:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 4365 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_81 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 4369 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_218 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP64))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_BSWAP128:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_BSWAP128:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 4365 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_81 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 4369 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_218 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_BSWAP128))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1507;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), EQ_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1507;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), EQ_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1507;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1507:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR, UNGE_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR, UNGE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR, UNGT_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR, UNGT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR, NE_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR, EQ_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR, UNLT_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR, UNLT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR, UNLE_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR, UNLE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNORDERED_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case ORDERED_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNLT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR, GE_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNLE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR, GT_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNGT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR, LE_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNGE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR, LT_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNEQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case LTGT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5150 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_236 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR))
			  return true;
		      }
		    }
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_134 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5180 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_42 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5180 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_456 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5227 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_142 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		      if (integer_zerop (_p1))
			{
			  {
/* #line 5210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			    if (gimple_simplify_104 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
			      return true;
			  }
		        }
		        break;
		      }
		    default:;
		    }
	          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_512 (res_op, seq, valueize, type, captures, EQ_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 5287 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_14 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 5287 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_14 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5293 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_222 (res_op, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5301 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      if (gimple_simplify_486 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_293 (res_op, seq, valueize, type, captures, EQ_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_64 (res_op, seq, valueize, type, captures, PLUS_EXPR, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_64 (res_op, seq, valueize, type, captures, MINUS_EXPR, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_65 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case REAL_CST:
		      {
			{
/* #line 5585 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_391 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 5653 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  if (gimple_simplify_267 (res_op, seq, valueize, type, captures, EQ_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (zerop (_p1))
		    {
		      {
/* #line 5793 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			if (gimple_simplify_112 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_515 (res_op, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, EQ_EXPR))
		      return true;
		  }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 5925 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
						if (gimple_simplify_41 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      {
			{
/* #line 5892 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			  if (gimple_simplify_2 (res_op, seq, valueize, type, captures, EQ_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5925 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_41 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5932 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_157 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 5938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_158 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 5938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_158 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, EQ_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, EQ_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, EQ_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, EQ_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_SQRT, EQ_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_SQRT, EQ_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    {
	      {
/* #line 5892 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		if (gimple_simplify_2 (res_op, seq, valueize, type, captures, EQ_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_XOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 5938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_158 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 5938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_158 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 5943 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_232 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 5943 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_232 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 5943 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_232 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 5943 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_232 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q31))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (_p1))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _p1))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    CASE_CONVERT:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
									  {
									    {
/* #line 5946 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
									      if (gimple_simplify_215 (res_op, seq, valueize, type, captures, EQ_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_q50))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q50))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      CASE_CONVERT:
							        {
								  tree _q60 = gimple_assign_rhs1 (_a4);
								  _q60 = do_valueize (valueize, _q60);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
									      if (gimple_simplify_215 (res_op, seq, valueize, type, captures, EQ_EXPR))
									        return true;
									    }
									    break;
									  }
								        default:;
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 5958 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_175 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 5958 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_175 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 5958 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			if (gimple_simplify_175 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 5958 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
			if (gimple_simplify_175 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 5963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
						if (gimple_simplify_239 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case ADDR_EXPR:
			        {
				  if (integer_zerop (_p1))
				    {
				      {
/* #line 5968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					if (gimple_simplify_415 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 5968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			      if (gimple_simplify_415 (res_op, seq, valueize, type, captures, EQ_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_239 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_415 (res_op, seq, valueize, type, captures, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 5974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_185 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 5974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_185 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 5974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_185 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 5974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_185 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			    if (gimple_simplify_199 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case GE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 5985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_454 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  case LT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 5995 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
					    if (gimple_simplify_242 (res_op, seq, valueize, type, captures, EQ_EXPR, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case LT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 5985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_454 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  case GE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 5995 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_256 (res_op, seq, valueize, type, captures, EQ_EXPR, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  {
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1 };
		    if (gimple_simplify_459 (res_op, seq, valueize, type, captures, EQ_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      if (gimple_simplify_415 (res_op, seq, valueize, type, captures, EQ_EXPR))
	        return true;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q32, _p0 };
		    if (gimple_simplify_459 (res_op, seq, valueize, type, captures, EQ_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  if (integer_pow2p (_q21))
				    {
				      if (integer_zerop (_p1))
					{
					  {
/* #line 6078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
					    if (gimple_simplify_40 (res_op, seq, valueize, type, captures, EQ_EXPR, GE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 6078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
			    if (gimple_simplify_375 (res_op, seq, valueize, type, captures, EQ_EXPR, GE_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ADDR_EXPR:
							        {
								  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
								    if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    case ADDR_EXPR:
						      {
							{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      case ADDR_EXPR:
					        {
						  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
						    if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case ADDR_EXPR:
						      {
							{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					      }
					    break;
					  case ADDR_EXPR:
					    {
					      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
						if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case ADDR_EXPR:
					        {
						  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
						    if (gimple_simplify_406 (res_op, seq, valueize, type, captures, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
					  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case ADDR_EXPR:
			        {
				  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
				    if (gimple_simplify_406 (res_op, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
			  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, EQ_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _p1))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    CASE_CONVERT:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			switch (TREE_CODE (_q30))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q30))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
					  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
				if (gimple_simplify_406 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case ADDR_EXPR:
		      {
			{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
			  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, EQ_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		if (gimple_simplify_406 (res_op, seq, valueize, type, captures, EQ_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  {
/* #line 6143 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_409 (res_op, seq, valueize, type, captures, EQ_EXPR))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 6156 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_310 (res_op, seq, valueize, type, captures, EQ_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_onep (_p1))
    {
      {
/* #line 6293 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6293 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
 && types_match (type, TREE_TYPE (captures[0]))
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1508;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6295, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem = captures[0];
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail1508:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case VECTOR_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 6311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 6313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1509;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6321, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    res_op->ops[0] = captures[1];
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1509:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1510;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6322, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    {
						      tree _o1[1], _r1;
						      _o1[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, utype, _o1[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail1510;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1510:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    case INTEGER_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 6311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 6313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1511;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6321, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    res_op->ops[0] = captures[1];
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1511:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1512;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6322, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    {
						      tree _o1[1], _r1;
						      _o1[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, utype, _o1[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail1512;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1512:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case VECTOR_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 6311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 6313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1513;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6321, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    res_op->ops[0] = captures[1];
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1513:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1514;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6322, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    {
						      tree _o1[1], _r1;
						      _o1[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, utype, _o1[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail1514;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1514:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    case INTEGER_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 6311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 6313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1515;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6321, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    res_op->ops[0] = captures[1];
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1515:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1516;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6322, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    {
						      tree _o1[1], _r1;
						      _o1[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, utype, _o1[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail1516;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1516:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q31))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q31))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      CASE_CONVERT:
							        {
								  tree _q60 = gimple_assign_rhs1 (_a4);
								  _q60 = do_valueize (valueize, _q60);
								  switch (TREE_CODE (_q21))
								    {
								    case INTEGER_CST:
								      {
									if (integer_zerop (_p1))
									  {
									    {
/* #line 6399 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
									      if (gimple_simplify_447 (res_op, seq, valueize, type, captures, EQ_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 7364 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_228 (res_op, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 7364 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_228 (res_op, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CLZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_130 (res_op, seq, valueize, type, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CLZL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_130 (res_op, seq, valueize, type, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CLZLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_130 (res_op, seq, valueize, type, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZLL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CLZIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_130 (res_op, seq, valueize, type, captures, EQ_EXPR, LT_EXPR, CFN_BUILT_IN_CLZIMAX))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_CLZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_130 (res_op, seq, valueize, type, captures, EQ_EXPR, LT_EXPR, CFN_CLZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7706 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_476 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_CTZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7706 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_476 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_CTZL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7706 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_476 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_CTZLL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7706 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_476 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_CTZIMAX))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_CTZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7706 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_476 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_CTZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNT))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTLL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTIMAX))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_POPCOUNT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR, CFN_POPCOUNT))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFS:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7878 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_374 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_FFS))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFSL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7878 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_374 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_FFSL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFSLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7878 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_374 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_FFSLL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFSIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7878 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_374 (res_op, seq, valueize, type, captures, EQ_EXPR, CFN_BUILT_IN_FFSIMAX))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_NE_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 255 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_75 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 255 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_75 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case CEIL_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_11 (res_op, seq, valueize, type, captures, NE_EXPR, CEIL_MOD_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case FLOOR_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_11 (res_op, seq, valueize, type, captures, NE_EXPR, FLOOR_MOD_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case ROUND_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_11 (res_op, seq, valueize, type, captures, NE_EXPR, ROUND_MOD_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case TRUNC_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 747 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_11 (res_op, seq, valueize, type, captures, NE_EXPR, TRUNC_MOD_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (gimple_zero_one_valued_p (_q20, valueize))
		    {
		      switch (TREE_CODE (_q21))
		        {
			case INTEGER_CST:
			  {
			    if (integer_zerop (_p1))
			      {
				{
/* #line 2041 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 2041 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))
)
				    {
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1517;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2044, __FILE__, __LINE__);
				      {
					res_op->set_op (NOP_EXPR, type, 1);
					res_op->ops[0] = captures[0];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1517:;
				    }
				}
			      }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2152 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_121 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2152 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_121 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2152 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_121 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2152 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_121 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case MULT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					  {
					    {
/* #line 2162 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					      if (gimple_simplify_458 (res_op, seq, valueize, type, captures, NE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case EXACT_DIV_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
									  {
									    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
									      if (gimple_simplify_404 (res_op, seq, valueize, type, captures, NE_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q41))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
						    {
						      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
							if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
						    {
						      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
							if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q40, _q20 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
				  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
				    {
				      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q41, _q20 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _p1_pops[1];
		  if (gimple_nop_convert (_p1, _p1_pops, valueize))
		    {
		      tree _q40 = _p1_pops[0];
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case PLUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
							    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      switch (TREE_CODE (_q50))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q50))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a3);
						      _q60 = do_valueize (valueize, _q60);
						      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
							{
							  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
							    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q50, _q20 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
					{
					  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q51, _q20 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
}
		}
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EXACT_DIV_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					  {
					    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					      if (gimple_simplify_404 (res_op, seq, valueize, type, captures, NE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2224 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_395 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1518;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2299, __FILE__, __LINE__);
					    {
					      res_op->set_op (NE_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1518:;
					  }
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1519;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2299, __FILE__, __LINE__);
					    {
					      res_op->set_op (NE_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1519:;
					  }
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1520;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2299, __FILE__, __LINE__);
					    {
					      res_op->set_op (NE_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1520:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
/* #line 2296 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1521;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2299, __FILE__, __LINE__);
					    {
					      res_op->set_op (NE_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1521:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
						    {
						      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
							if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
							if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q30 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
				    {
				      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q40 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
			if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20 };
			if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
/* #line 2312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1522;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2315, __FILE__, __LINE__);
					    {
					      res_op->set_op (NE_EXPR, type, 2);
					      res_op->ops[0] = captures[0];
					      res_op->ops[1] = captures[2];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1522:;
					  }
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
/* #line 2339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1523;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 2342, __FILE__, __LINE__);
					    {
					      res_op->set_op (NE_EXPR, type, 2);
					      res_op->ops[0] = captures[2];
					      res_op->ops[1] = captures[1];
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1523:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			if (gimple_simplify_469 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_DIFF_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
					if (gimple_simplify_253 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_logical_inverted_value (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
	{
	  if (gimple_truth_valued_p (_p1, valueize))
	    {
	      {
/* #line 1931 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
		if (gimple_simplify_190 (res_op, seq, valueize, type, captures, NE_EXPR))
		  return true;
	      }
	    }
        }
}
}
{
  tree _p0_pops[1];
  if (gimple_nop_convert (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q20))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case PLUS_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      if (tree_swap_operands_p (_q30, _q31))
		        std::swap (_q30, _q31);
		      switch (TREE_CODE (_q31))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q31))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
							{
							  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
							    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
							{
							  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
							    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q40 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_q31))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q31))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
					{
					  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q50 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
					{
					  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
			      return true;
			  }
		        }
		      if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
			{
			  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30 };
			    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
			      return true;
			  }
		        }
		      break;
		    }
		  case POINTER_PLUS_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
							{
							  {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
							    if (gimple_simplify_333 (res_op, seq, valueize, type, captures, NE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
					    if (gimple_simplify_333 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
					    if (gimple_simplify_333 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
			    if (gimple_simplify_333 (res_op, seq, valueize, type, captures, NE_EXPR))
			      return true;
			  }
		        }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
if (gimple_truth_valued_p (_p0, valueize))
  {
    {
      tree _p1_pops[1];
      if (gimple_logical_inverted_value (_p1, _p1_pops, valueize))
        {
	  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
		if (gimple_simplify_190 (res_op, seq, valueize, type, captures, NE_EXPR))
		  return true;
	      }
	    }
}
    }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q31))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q31))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
				    {
				      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
					if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0 };
			if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _p0 };
			if (gimple_simplify_461 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p1_pops[1];
  if (gimple_nop_convert (_p1, _p1_pops, valueize))
    {
      tree _q30 = _p1_pops[0];
      switch (TREE_CODE (_q30))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q30))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case PLUS_EXPR:
		    {
		      tree _q40 = gimple_assign_rhs1 (_a1);
		      _q40 = do_valueize (valueize, _q40);
		      tree _q41 = gimple_assign_rhs2 (_a1);
		      _q41 = do_valueize (valueize, _q41);
		      if (tree_swap_operands_p (_q40, _q41))
		        std::swap (_q40, _q41);
		      switch (TREE_CODE (_q41))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q41))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
					{
					  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					{
					  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
					    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0 };
			    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
			      return true;
			  }
		        }
		      if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
			{
			  {
/* #line 2368 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _p0 };
			    if (gimple_simplify_420 (res_op, seq, valueize, type, captures, NE_EXPR))
			      return true;
			  }
		        }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
						    {
						      {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
							if (gimple_simplify_189 (res_op, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q41 };
					if (gimple_simplify_189 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _p1_pops[1];
		  if (gimple_nop_convert (_p1, _p1_pops, valueize))
		    {
		      tree _q40 = _p1_pops[0];
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case POINTER_PLUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      switch (TREE_CODE (_q50))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q50))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a3);
						      _q60 = do_valueize (valueize, _q60);
						      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
							{
							  {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
							    if (gimple_simplify_333 (res_op, seq, valueize, type, captures, NE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q20, _q51 };
					    if (gimple_simplify_333 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
}
		}
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
    tree _p1_pops[1];
    if (gimple_nop_convert (_p1, _p1_pops, valueize))
      {
	tree _q30 = _p1_pops[0];
	switch (TREE_CODE (_q30))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _q30))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    case POINTER_PLUS_EXPR:
		      {
			tree _q40 = gimple_assign_rhs1 (_a1);
			_q40 = do_valueize (valueize, _q40);
			tree _q41 = gimple_assign_rhs2 (_a1);
			_q41 = do_valueize (valueize, _q41);
			switch (TREE_CODE (_q40))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q40))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
					      if (gimple_simplify_333 (res_op, seq, valueize, type, captures, NE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
			      if (gimple_simplify_333 (res_op, seq, valueize, type, captures, NE_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	      }
	    break;
          default:;
          }
}
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case POINTER_PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
							if (gimple_simplify_189 (res_op, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q21 };
					if (gimple_simplify_189 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
					if (gimple_simplify_189 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
			if (gimple_simplify_189 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  {
/* #line 2386 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
				    if (gimple_simplify_495 (res_op, seq, valueize, type, captures, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 2386 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
			  if (gimple_simplify_495 (res_op, seq, valueize, type, captures, NE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case POINTER_PLUS_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_q50))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q50))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ADDR_EXPR:
							        {
								  {
/* #line 2391 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
								    if (gimple_simplify_123 (res_op, seq, valueize, type, captures, NE_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    case ADDR_EXPR:
						      {
							{
/* #line 2391 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
							  if (gimple_simplify_123 (res_op, seq, valueize, type, captures, NE_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case POINTER_PLUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					switch (TREE_CODE (_q50))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q50))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case ADDR_EXPR:
						      {
							{
/* #line 2391 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
							  if (gimple_simplify_123 (res_op, seq, valueize, type, captures, NE_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					      }
					    break;
					  case ADDR_EXPR:
					    {
					      {
/* #line 2391 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
						if (gimple_simplify_123 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case POINTER_PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      {
/* #line 2377 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
					if (gimple_simplify_189 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
			if (gimple_simplify_189 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  {
/* #line 2386 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
				    if (gimple_simplify_495 (res_op, seq, valueize, type, captures, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _p1))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    case POINTER_PLUS_EXPR:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			tree _q31 = gimple_assign_rhs2 (_a1);
			_q31 = do_valueize (valueize, _q31);
			{
/* #line 2386 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
			  if (gimple_simplify_495 (res_op, seq, valueize, type, captures, NE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_469 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 2414 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_367 (res_op, seq, valueize, type, captures, NE_EXPR, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case MINUS_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  switch (TREE_CODE (_q50))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (_q51))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q51))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    CASE_CONVERT:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
									  {
									    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
									      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_q31))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q31))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q50 = gimple_assign_rhs1 (_a3);
							_q50 = do_valueize (valueize, _q50);
							switch (TREE_CODE (_p1))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _p1))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    CASE_CONVERT:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
									  {
									    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
									      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
							      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
							  {
							    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
							      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
					      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case MINUS_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
							      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case MINUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_q41))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q41))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
							  {
							    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
							      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_q21))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q21))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
							  {
							    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
							      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
					      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
					  {
					    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
					      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_q41))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q41))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
							  {
							    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
							      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
					      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_q31))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q31))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
					  {
					    {
/* #line 2424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
					      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			      if (gimple_simplify_479 (res_op, seq, valueize, type, captures, NE_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MIN_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MIN_EXPR, NE_EXPR, GT_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MIN_EXPR, NE_EXPR, GT_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3574 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_265 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MAX_EXPR, NE_EXPR, LT_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MAX_EXPR, NE_EXPR, LT_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3583 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_29 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_with_possible_nonzero_bits2 (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      {
	tree _p1_pops[1];
	if (gimple_with_certain_nonzero_bits2 (_p1, _p1_pops, valueize))
	  {
	    tree _q40 = _p1_pops[0];
	    {
/* #line 2451 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
	      if (gimple_simplify_526 (res_op, seq, valueize, type, captures, NE_EXPR))
	        return true;
	    }
}
      }
}
}
{
  tree _p0_pops[1];
  if (gimple_with_certain_nonzero_bits2 (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      {
	tree _p1_pops[1];
	if (gimple_with_possible_nonzero_bits2 (_p1, _p1_pops, valueize))
	  {
	    tree _q40 = _p1_pops[0];
	    {
/* #line 2451 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
	      if (gimple_simplify_526 (res_op, seq, valueize, type, captures, NE_EXPR))
	        return true;
	    }
}
      }
}
}
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MIN_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MIN_EXPR, NE_EXPR, GT_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MIN_EXPR, NE_EXPR, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MAX_EXPR, NE_EXPR, LT_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 3563 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_425 (res_op, seq, valueize, type, captures, MAX_EXPR, NE_EXPR, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_pow2p (_q30))
				    {
				      if (integer_pow2p (_q21))
					{
					  if (integer_zerop (_p1))
					    {
					      {
/* #line 3783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
						if (gimple_simplify_328 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
						  return true;
					      }
					    }
				        }
				    }
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						      if (gimple_simplify_397 (res_op, seq, valueize, type, captures, NE_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
				  if (integer_onep (_q30))
				    {
				      if (integer_pow2p (_q21))
					{
					  if (integer_zerop (_p1))
					    {
					      {
/* #line 3953 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q21 };
						if (gimple_simplify_153 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
						  return true;
					      }
					    }
				        }
				    }
			          break;
			        }
			      case RSHIFT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_pow2p (_q30))
				    {
				      if (integer_pow2p (_q21))
					{
					  if (integer_zerop (_p1))
					    {
					      {
/* #line 3790 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q21 };
						if (gimple_simplify_27 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
						  return true;
					      }
					    }
				        }
				    }
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						      if (gimple_simplify_272 (res_op, seq, valueize, type, captures, NE_EXPR))
						        return true;
						    }
						    break;
						  }
					        default:;
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case LSHIFT_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (integer_onep (_q40))
					{
					  if (integer_pow2p (_q21))
					    {
					      if (integer_zerop (_p1))
						{
						  {
/* #line 3953 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q41, _q21 };
						    if (gimple_simplify_153 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
}
		}
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3803 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_467 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case LROTATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LROTATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 3999 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_523 (res_op, seq, valueize, type, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4003 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_32 (res_op, seq, valueize, type, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4007 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  if (gimple_simplify_369 (res_op, seq, valueize, type, captures, LROTATE_EXPR, RROTATE_EXPR, NE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case RROTATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case RROTATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 3999 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_523 (res_op, seq, valueize, type, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 4003 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_32 (res_op, seq, valueize, type, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 4007 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  if (gimple_simplify_369 (res_op, seq, valueize, type, captures, RROTATE_EXPR, LROTATE_EXPR, NE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1524;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), NE_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1524;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), NE_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1524;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1524:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1525;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), NE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1525;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), NE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1525;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1525:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_BSWAP16:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_BSWAP16:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 4365 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_81 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_BSWAP16))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 4369 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_218 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_BSWAP16))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_BSWAP32:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_BSWAP32:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 4365 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_81 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_BSWAP32))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 4369 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_218 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_BSWAP32))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_BSWAP64:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_BSWAP64:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 4365 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_81 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_BSWAP64))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 4369 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_218 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_BSWAP64))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_BSWAP128:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_BSWAP128:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 4365 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
					if (gimple_simplify_81 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_BSWAP128))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case INTEGER_CST:
		        {
			  {
/* #line 4369 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_218 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_BSWAP128))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1526;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), NE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1526;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), NE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1526;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1526:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR, UNGE_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR, UNGE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR, UNGT_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR, UNGT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR, NE_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR, EQ_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR, UNLT_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR, UNLT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR, UNLE_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR, UNLE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNORDERED_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR, ORDERED_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case ORDERED_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR, UNORDERED_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNLT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR, GE_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNLE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR, GT_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNGT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR, LE_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNGE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR, LT_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case UNEQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR, LTGT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case LTGT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5146 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_97 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR))
			  return true;
		      }
		    }
		  if (integer_truep (_p1))
		    {
		      {
/* #line 5154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_434 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR, UNEQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5180 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_42 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5180 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_456 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5227 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_142 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		      if (integer_zerop (_p1))
			{
			  {
/* #line 5210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			    if (gimple_simplify_104 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
			      return true;
			  }
		        }
		        break;
		      }
		    default:;
		    }
	          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures, NE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 5287 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_14 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 5287 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_14 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5293 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_222 (res_op, seq, valueize, type, captures, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5301 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      if (gimple_simplify_486 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_293 (res_op, seq, valueize, type, captures, NE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_64 (res_op, seq, valueize, type, captures, PLUS_EXPR, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_64 (res_op, seq, valueize, type, captures, MINUS_EXPR, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_65 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case REAL_CST:
		      {
			{
/* #line 5585 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_391 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 5653 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  if (gimple_simplify_267 (res_op, seq, valueize, type, captures, NE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (zerop (_p1))
		    {
		      {
/* #line 5793 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			if (gimple_simplify_112 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_515 (res_op, seq, valueize, type, captures, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, NE_EXPR))
		      return true;
		  }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 5925 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
						if (gimple_simplify_41 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      {
			{
/* #line 5892 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			  if (gimple_simplify_2 (res_op, seq, valueize, type, captures, NE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5925 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_41 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5932 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_157 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 5938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_158 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 5938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_158 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, NE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, NE_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, NE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, NE_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, NE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, NE_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_SQRT, NE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_SQRT, NE_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    {
	      {
/* #line 5892 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		if (gimple_simplify_2 (res_op, seq, valueize, type, captures, NE_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_XOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 5938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_158 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 5938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_158 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 5943 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_232 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 5943 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_232 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 5943 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_232 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 5943 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_232 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q31))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (_p1))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _p1))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    CASE_CONVERT:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
									  {
									    {
/* #line 5946 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q31 };
									      if (gimple_simplify_215 (res_op, seq, valueize, type, captures, NE_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  switch (TREE_CODE (_q50))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q50))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      CASE_CONVERT:
							        {
								  tree _q60 = gimple_assign_rhs1 (_a4);
								  _q60 = do_valueize (valueize, _q60);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q51 };
									      if (gimple_simplify_215 (res_op, seq, valueize, type, captures, NE_EXPR))
									        return true;
									    }
									    break;
									  }
								        default:;
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 5958 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_175 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 5958 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_175 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 5958 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			if (gimple_simplify_175 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 5958 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
			if (gimple_simplify_175 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 5963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _p1 };
						if (gimple_simplify_239 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case ADDR_EXPR:
			        {
				  if (integer_zerop (_p1))
				    {
				      {
/* #line 5968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					if (gimple_simplify_415 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 5968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			      if (gimple_simplify_415 (res_op, seq, valueize, type, captures, NE_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_239 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  if (integer_zerop (_p1))
		    {
		      {
/* #line 5968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_415 (res_op, seq, valueize, type, captures, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 5974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_185 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 5974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_185 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 5974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_185 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 5974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_185 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			    if (gimple_simplify_199 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case GE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 5985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_454 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  case LT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 5995 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q51, _q20 };
					    if (gimple_simplify_242 (res_op, seq, valueize, type, captures, NE_EXPR, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case LT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 5985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_454 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  case GE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 5995 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_256 (res_op, seq, valueize, type, captures, NE_EXPR, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  {
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1 };
		    if (gimple_simplify_459 (res_op, seq, valueize, type, captures, NE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	if (integer_zerop (_p1))
	  {
	    {
/* #line 5968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      if (gimple_simplify_415 (res_op, seq, valueize, type, captures, NE_EXPR))
	        return true;
	    }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q32, _p0 };
		    if (gimple_simplify_459 (res_op, seq, valueize, type, captures, NE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  if (integer_pow2p (_q21))
				    {
				      if (integer_zerop (_p1))
					{
					  {
/* #line 6078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
					    if (gimple_simplify_40 (res_op, seq, valueize, type, captures, NE_EXPR, LT_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if (integer_pow2p (_q21))
		    {
		      if (integer_zerop (_p1))
			{
			  {
/* #line 6078 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q20, _q21 };
			    if (gimple_simplify_375 (res_op, seq, valueize, type, captures, NE_EXPR, LT_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ADDR_EXPR:
							        {
								  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
								    if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    case ADDR_EXPR:
						      {
							{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      case ADDR_EXPR:
					        {
						  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
						    if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case ADDR_EXPR:
						      {
							{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					      }
					    break;
					  case ADDR_EXPR:
					    {
					      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
						if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case ADDR_EXPR:
					        {
						  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
						    if (gimple_simplify_406 (res_op, seq, valueize, type, captures, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
					  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case ADDR_EXPR:
			        {
				  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
				    if (gimple_simplify_406 (res_op, seq, valueize, type, captures, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
			  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, NE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _p1))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    CASE_CONVERT:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			switch (TREE_CODE (_q30))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q30))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
					  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
				if (gimple_simplify_406 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case ADDR_EXPR:
		      {
			{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
			  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, NE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		if (gimple_simplify_406 (res_op, seq, valueize, type, captures, NE_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  {
/* #line 6143 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_409 (res_op, seq, valueize, type, captures, NE_EXPR))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 6156 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_310 (res_op, seq, valueize, type, captures, NE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6287 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 6287 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (TREE_CODE (TREE_TYPE (captures[0])) == BOOLEAN_TYPE
 && types_match (type, TREE_TYPE (captures[0]))
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1527;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6289, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem = captures[0];
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail1527:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case VECTOR_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 6311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 6313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1528;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6321, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    res_op->ops[0] = captures[1];
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1528:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1529;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6322, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    {
						      tree _o1[1], _r1;
						      _o1[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, utype, _o1[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail1529;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1529:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    case INTEGER_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 6311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 6313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1530;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6321, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    res_op->ops[0] = captures[1];
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1530:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1531;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6322, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    {
						      tree _o1[1], _r1;
						      _o1[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, utype, _o1[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail1531;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1531:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case VECTOR_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 6311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 6313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1532;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6321, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    res_op->ops[0] = captures[1];
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1532:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1533;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6322, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    {
						      tree _o1[1], _r1;
						      _o1[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, utype, _o1[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail1533;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1533:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    case INTEGER_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 6311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree csts = bitmask_inv_cst_vector_p (captures[2]);
/* #line 6312 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (csts && (VECTOR_TYPE_P (TREE_TYPE (captures[2])) || single_use (captures[0]))
)
				    {
				      {
/* #line 6313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1534;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6321, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    res_op->ops[0] = captures[1];
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1534:;
						}
					      else
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1535;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6322, __FILE__, __LINE__);
						  {
						    res_op->set_op (icmp, type, 2);
						    {
						      tree _o1[1], _r1;
						      _o1[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, utype, _o1[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail1535;
						      res_op->ops[0] = _r1;
						    }
						    res_op->ops[1] =  csts;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1535:;
						}
					    }
				      }
				    }
			      }
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q31))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q31))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      CASE_CONVERT:
							        {
								  tree _q60 = gimple_assign_rhs1 (_a4);
								  _q60 = do_valueize (valueize, _q60);
								  switch (TREE_CODE (_q21))
								    {
								    case INTEGER_CST:
								      {
									if (integer_zerop (_p1))
									  {
									    {
/* #line 6399 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q60, _q21 };
									      if (gimple_simplify_447 (res_op, seq, valueize, type, captures, NE_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 7364 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_228 (res_op, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 7364 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_228 (res_op, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CLZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_130 (res_op, seq, valueize, type, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CLZL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_130 (res_op, seq, valueize, type, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CLZLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_130 (res_op, seq, valueize, type, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZLL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CLZIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_130 (res_op, seq, valueize, type, captures, NE_EXPR, GE_EXPR, CFN_BUILT_IN_CLZIMAX))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_CLZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_130 (res_op, seq, valueize, type, captures, NE_EXPR, GE_EXPR, CFN_CLZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7706 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_476 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_CTZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7706 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_476 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_CTZL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7706 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_476 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_CTZLL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7706 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_476 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_CTZIMAX))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_CTZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7706 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_476 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_CTZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNT))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTLL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTIMAX))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_POPCOUNT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR, CFN_POPCOUNT))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFS:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7878 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_374 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_FFS))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFSL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7878 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_374 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_FFSL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFSLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7878 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_374 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_FFSLL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFSIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7878 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_374 (res_op, seq, valueize, type, captures, NE_EXPR, CFN_BUILT_IN_FFSIMAX))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGNF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1536;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1536:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1537;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1537:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_226 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_350 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_317 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_171 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6778 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_338 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_124 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGN (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGN;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1538;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1538:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGN;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1539;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1539:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_226 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_350 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_317 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_171 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6778 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_338 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_124 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGNL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNL;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1540;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1540:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNL;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1541;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1541:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_226 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_350 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_317 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_171 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6778 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_338 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_124 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGNF16 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF16;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1542;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1542:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF16;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1543;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1543:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_226 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_350 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF16:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_317 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_171 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6778 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_338 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_124 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF16))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGNF32 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF32;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1544;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1544:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF32;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1545;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1545:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_226 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_350 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF32:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_317 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_171 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6778 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_338 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_124 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGNF64 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF64;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1546;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1546:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF64;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1547;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1547:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_226 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_350 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF64:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_317 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_171 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6778 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_338 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_124 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGNF128 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF128;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1548;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1548:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF128;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1549;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1549:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_226 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_350 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF128:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_317 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_171 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6778 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_338 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_124 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGNF32X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF32X;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1550;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1550:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF32X;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1551;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1551:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_226 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_350 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF32X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_317 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_171 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6778 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_338 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_124 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF32X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGNF64X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF64X;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1552;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1552:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF64X;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1553;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1553:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_226 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_350 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF64X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_317 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_171 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6778 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_338 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_124 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF64X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_COPYSIGNF128X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF128X;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1554;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1554:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_BUILT_IN_COPYSIGNF128X;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1555;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1555:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_226 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_350 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF128X:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_317 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_171 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6778 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_338 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_124 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF128X))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_COPYSIGN (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_COPYSIGN;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1556;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1556:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 914 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn copysigns = CFN_COPYSIGN;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1557;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 914, __FILE__, __LINE__);
		    {
		      res_op->set_op (copysigns, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1557:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 339 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_226 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 964 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_350 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 972 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_317 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6773 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_171 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6778 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
			if (gimple_simplify_338 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (tree_expr_nonnegative_p (_p1))
  {
    {
/* #line 6783 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_124 (res_op, seq, valueize, type, captures, CFN_COPYSIGN))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_TRUNC_DIV_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_onep (_p1))
    {
      {
/* #line 366 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_489 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case LSHIFT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (integer_onep (_q50))
						    {
						      {
/* #line 382 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q50, _q51 };
							if (gimple_simplify_59 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case LSHIFT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (integer_onep (_q40))
				    {
				      {
/* #line 382 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q41 };
					if (gimple_simplify_59 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (integer_onep (_q40))
				    {
				      {
/* #line 382 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q40, _q41 };
					if (gimple_simplify_209 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (integer_onep (_q30))
		    {
		      {
/* #line 382 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q30, _q31 };
			if (gimple_simplify_209 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_468 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 420 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_269 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 415 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_101 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
        return true;
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 429 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_34 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_274 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_274 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 445 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_166 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 445 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_166 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 485 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_180 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_438 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_438 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 830 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) && TYPE_UNSIGNED (TREE_TYPE (captures[0]))
)
			      {
				gimple_seq *lseq = seq;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1558;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 831, __FILE__, __LINE__);
				{
				  res_op->set_op (BIT_AND_EXPR, type, 2);
				  res_op->ops[0] = captures[0];
				  res_op->ops[1] =  wide_int_to_tree
 (type, wi::mask (TYPE_PRECISION (type)
 - wi::exact_log2 (wi::to_wide (captures[1])),
 false, TYPE_PRECISION (type)));
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1558:;
			      }
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 846 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_133 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 846 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_133 (res_op, seq, valueize, type, captures, TRUNC_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1559;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1559;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1559;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1559:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1560;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1560;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1560;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1560:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_onep (_p0))
  {
    {
/* #line 469 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 469 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (TYPE_UNSIGNED (type)
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1561;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 474, __FILE__, __LINE__);
	      {
		res_op->set_op (NOP_EXPR, type, 1);
		{
		  tree _o1[2], _r1;
		  _o1[0] = captures[1];
		  _o1[1] =  build_one_cst (type);
		  gimple_match_op tem_op (res_op->cond.any_else (), EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail1561;
		  res_op->ops[0] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1561:;
	    }
	  else
	    {
	      {
/* #line 475 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
		  gimple_seq *lseq = seq;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1562;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 476, __FILE__, __LINE__);
		  {
		    res_op->set_op (COND_EXPR, type, 3);
		    {
		      tree _o1[2], _r1;
		      {
			tree _o2[2], _r2;
			{
			  tree _o3[1], _r3;
			  _o3[0] = captures[1];
			  if (utype != TREE_TYPE (_o3[0])
			      && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
			    {
			      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r3) goto next_after_fail1562;
			    }
			  else
			    _r3 = _o3[0];
			  _o2[0] = _r3;
			}
			_o2[1] =  build_one_cst (utype);
			gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
			tem_op.resimplify (lseq, valueize);
			_r2 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r2) goto next_after_fail1562;
			_o1[0] = _r2;
		      }
		      _o1[1] =  build_int_cst (utype, 2);
		      gimple_match_op tem_op (res_op->cond.any_else (), LE_EXPR, boolean_type_node, _o1[0], _o1[1]);
		      tem_op.resimplify (lseq, valueize);
		      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		      if (!_r1) goto next_after_fail1562;
		      res_op->ops[0] = _r1;
		    }
		    res_op->ops[1] = captures[1];
		    res_op->ops[2] =  build_zero_cst (type);
		    res_op->resimplify (lseq, valueize);
		    return true;
		  }
next_after_fail1562:;
	      }
	    }
	}
    }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1563;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1563;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1563;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1563:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CEIL_DIV_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_onep (_p1))
    {
      {
/* #line 366 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_489 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_468 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 420 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_269 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 415 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_101 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
        return true;
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 429 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_34 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_274 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_274 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 445 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_166 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 445 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_166 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_438 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_438 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 846 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_133 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 846 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_133 (res_op, seq, valueize, type, captures, CEIL_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1564;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), CEIL_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1564;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), CEIL_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1564;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1564:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1565;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), CEIL_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1565;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), CEIL_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1565;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1565:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1566;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), CEIL_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1566;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), CEIL_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1566;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1566:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_FLOOR_DIV_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_onep (_p1))
    {
      {
/* #line 366 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_489 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_468 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 420 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_269 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 415 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_101 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
        return true;
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 429 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_34 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_274 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_274 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 445 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_166 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 445 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_166 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 458 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_475 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR, TRUNC_DIV_EXPR))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_438 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_438 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 846 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_133 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 846 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_133 (res_op, seq, valueize, type, captures, FLOOR_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1567;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), FLOOR_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1567;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), FLOOR_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1567;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1567:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1568;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), FLOOR_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1568;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), FLOOR_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1568;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1568:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1569;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), FLOOR_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1569;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), FLOOR_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1569;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1569:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_ROUND_DIV_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_onep (_p1))
    {
      {
/* #line 366 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_489 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_468 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 420 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_269 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 415 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_101 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
        return true;
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 429 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_34 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_274 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_274 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 445 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_166 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 445 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_166 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_438 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_438 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 846 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_133 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 846 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_133 (res_op, seq, valueize, type, captures, ROUND_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1570;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), ROUND_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1570;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), ROUND_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1570;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1570:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1571;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), ROUND_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1571;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), ROUND_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1571;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1571:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1572;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), ROUND_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1572;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), ROUND_DIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1572;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1572:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_EXACT_DIV_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_onep (_p1))
    {
      {
/* #line 366 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_489 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 410 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_468 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      {
	{
/* #line 420 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_269 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
if (integer_minus_onep (_p1))
  {
    {
/* #line 415 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_101 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
        return true;
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 429 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_34 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_274 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_274 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 445 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_166 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 445 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_166 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 485 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_180 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_438 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_438 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 846 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_133 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 846 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_133 (res_op, seq, valueize, type, captures, EXACT_DIV_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_FLOOR_MOD_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  {
/* #line 458 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_475 (res_op, seq, valueize, type, captures, FLOOR_MOD_EXPR, TRUNC_MOD_EXPR))
      return true;
  }
  if (integer_zerop (_p0))
    {
      {
/* #line 713 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_61 (res_op, seq, valueize, type, captures, FLOOR_MOD_EXPR))
	  return true;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 718 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_108 (res_op, seq, valueize, type, captures, FLOOR_MOD_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 722 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_48 (res_op, seq, valueize, type, captures, FLOOR_MOD_EXPR))
	  return true;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 728 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_445 (res_op, seq, valueize, type, captures, FLOOR_MOD_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case FLOOR_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 733 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_69 (res_op, seq, valueize, type, captures, FLOOR_MOD_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 737 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_216 (res_op, seq, valueize, type, captures, FLOOR_MOD_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
		    tree _q30_pops[1];
		    if (gimple_power_of_two_cand (_q30, _q30_pops, valueize))
		      {
			tree _q40 = _q30_pops[0];
			{
/* #line 810 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
			  if (gimple_simplify_521 (res_op, seq, valueize, type, captures, FLOOR_MOD_EXPR))
			    return true;
			}
}
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p1_pops[1];
  if (gimple_power_of_two_cand (_p1, _p1_pops, valueize))
    {
      tree _q30 = _p1_pops[0];
      {
/* #line 810 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
	if (gimple_simplify_521 (res_op, seq, valueize, type, captures, FLOOR_MOD_EXPR))
	  return true;
      }
}
}
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1573;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), FLOOR_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1573;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), FLOOR_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1573;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1573:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1574;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), FLOOR_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1574;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), FLOOR_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1574;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1574:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1575;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), FLOOR_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1575;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), FLOOR_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1575;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1575:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_RDIV_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 597 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (FLOAT_TYPE_P (type)
 && ! HONOR_NANS (type)
 && ! HONOR_INFINITIES (type)
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1576;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 600, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem =  build_one_cst (type);
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail1576:;
	  }
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 606 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_286 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 606 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_286 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case ABS_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
						    {
						      {
/* #line 614 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
							if (gimple_simplify_370 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ABS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
						    {
						      {
/* #line 614 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
							if (gimple_simplify_370 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 614 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_370 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 614 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_370 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (real_onep (_p1))
    {
      {
/* #line 628 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 628 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (!tree_expr_maybe_signaling_nan_p (captures[0])
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1577;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 629, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem = captures[0];
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail1577:;
	  }
      }
    }
  if (real_minus_onep (_p1))
    {
      {
/* #line 634 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 634 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (!tree_expr_maybe_signaling_nan_p (captures[0])
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1578;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 635, __FILE__, __LINE__);
	    {
	      res_op->set_op (NEGATE_EXPR, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1578:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case RDIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
/* #line 637 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
/* #line 637 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (flag_reciprocal_math
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1579;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 641, __FILE__, __LINE__);
			{
			  res_op->set_op (RDIV_EXPR, type, 2);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (lseq, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r1) goto next_after_fail1579;
			    res_op->ops[1] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1579:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q31))
		    {
		    case REAL_CST:
		      {
			{
/* #line 637 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
/* #line 637 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_reciprocal_math
)
			    {
			      {
/* #line 646 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[3]);
/* #line 648 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (tem
)
				    {
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[1])))
				        lseq = NULL;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1580;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 649, __FILE__, __LINE__);
				      {
					res_op->set_op (RDIV_EXPR, type, 2);
					{
					  tree _o1[2], _r1;
					  _o1[0] = captures[0];
					  _o1[1] =  tem;
					  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail1580;
					  res_op->ops[0] = _r1;
					}
					res_op->ops[1] = captures[2];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1580:;
				    }
			      }
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case RDIV_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
/* #line 637 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
/* #line 637 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (flag_reciprocal_math
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1581;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 654, __FILE__, __LINE__);
			{
			  res_op->set_op (MULT_EXPR, type, 2);
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[2];
			    gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (lseq, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			    if (!_r1) goto next_after_fail1581;
			    res_op->ops[0] = _r1;
			  }
			  res_op->ops[1] = captures[3];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1581:;
		      }
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 659 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1582;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 659, __FILE__, __LINE__);
		    {
		      res_op->set_op (RDIV_EXPR, type, 2);
		      {
			tree _o1[1], _r1;
			_o1[0] = captures[0];
			gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
			tem_op.resimplify (lseq, valueize);
			_r1 = maybe_push_res_to_seq (&tem_op, lseq);
			if (!_r1) goto next_after_fail1582;
			res_op->ops[0] = _r1;
		      }
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1582:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (optimize
)
	    {
/* #line 697 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (flag_reciprocal_math
 && !real_zerop (captures[1])
)
		{
		  {
/* #line 699 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 701 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (tem
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1583;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 702, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  tem;
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1583:;
			}
		  }
		}
	      else
		{
/* #line 703 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (REAL_CST != COMPLEX_CST
)
		    {
		      {
/* #line 704 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 705 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (inverse
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1584;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 706, __FILE__, __LINE__);
			      {
				res_op->set_op (MULT_EXPR, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] =  inverse;
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1584:;
			    }
		      }
		    }
		}
	    }
	}
        break;
      }
    case COMPLEX_CST:
      {
	{
/* #line 696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (optimize
)
	    {
/* #line 697 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (flag_reciprocal_math
 && !real_zerop (captures[1])
)
		{
		  {
/* #line 699 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 701 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (tem
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1585;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 702, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  tem;
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1585:;
			}
		  }
		}
	      else
		{
/* #line 703 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (COMPLEX_CST != COMPLEX_CST
)
		    {
		      {
/* #line 704 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 705 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (inverse
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1586;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 706, __FILE__, __LINE__);
			      {
				res_op->set_op (MULT_EXPR, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] =  inverse;
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1586:;
			    }
		      }
		    }
		}
	    }
	}
        break;
      }
    case VECTOR_CST:
      {
	{
/* #line 696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (optimize
)
	    {
/* #line 697 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (flag_reciprocal_math
 && !real_zerop (captures[1])
)
		{
		  {
/* #line 699 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree tem = const_binop (RDIV_EXPR, type, build_one_cst (type), captures[1]);
/* #line 701 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (tem
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1587;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 702, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    res_op->ops[1] =  tem;
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1587:;
			}
		  }
		}
	      else
		{
/* #line 703 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (VECTOR_CST != COMPLEX_CST
)
		    {
		      {
/* #line 704 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree inverse = exact_inverse (type, captures[1]);
/* #line 705 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (inverse
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1588;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 706, __FILE__, __LINE__);
			      {
				res_op->set_op (MULT_EXPR, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] =  inverse;
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1588:;
			    }
		      }
		    }
		}
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1589;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1589;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1589;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1589:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1590;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1590;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1590;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1590:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1591;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1591;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1591;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1591:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    switch (TREE_CODE (_q30))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q30))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case RDIV_EXPR:
				  {
				    tree _q40 = gimple_assign_rhs1 (_a2);
				    _q40 = do_valueize (valueize, _q40);
				    tree _q41 = gimple_assign_rhs2 (_a2);
				    _q41 = do_valueize (valueize, _q41);
				    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (flag_unsafe_math_optimizations
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[1])
					          || !single_use (captures[2])))
					    lseq = NULL;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1592;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6528, __FILE__, __LINE__);
					  {
					    res_op->set_op (MULT_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						_o2[0] = captures[4];
						_o2[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail1592;
						_o1[0] = _r2;
					      }
					      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_SQRTF, TREE_TYPE (_o1[0]), _o1[0]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail1592;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail1592:;
					}
				    }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    switch (TREE_CODE (_q30))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q30))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case RDIV_EXPR:
				  {
				    tree _q40 = gimple_assign_rhs1 (_a2);
				    _q40 = do_valueize (valueize, _q40);
				    tree _q41 = gimple_assign_rhs2 (_a2);
				    _q41 = do_valueize (valueize, _q41);
				    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (flag_unsafe_math_optimizations
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[1])
					          || !single_use (captures[2])))
					    lseq = NULL;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1593;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6528, __FILE__, __LINE__);
					  {
					    res_op->set_op (MULT_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						_o2[0] = captures[4];
						_o2[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail1593;
						_o1[0] = _r2;
					      }
					      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_SQRT, TREE_TYPE (_o1[0]), _o1[0]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail1593;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail1593:;
					}
				    }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    switch (TREE_CODE (_q30))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q30))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case RDIV_EXPR:
				  {
				    tree _q40 = gimple_assign_rhs1 (_a2);
				    _q40 = do_valueize (valueize, _q40);
				    tree _q41 = gimple_assign_rhs2 (_a2);
				    _q41 = do_valueize (valueize, _q41);
				    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (flag_unsafe_math_optimizations
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[1])
					          || !single_use (captures[2])))
					    lseq = NULL;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1594;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6528, __FILE__, __LINE__);
					  {
					    res_op->set_op (MULT_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						_o2[0] = captures[4];
						_o2[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail1594;
						_o1[0] = _r2;
					      }
					      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_SQRTL, TREE_TYPE (_o1[0]), _o1[0]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail1594;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail1594:;
					}
				    }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    switch (TREE_CODE (_q30))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q30))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case RDIV_EXPR:
				  {
				    tree _q40 = gimple_assign_rhs1 (_a2);
				    _q40 = do_valueize (valueize, _q40);
				    tree _q41 = gimple_assign_rhs2 (_a2);
				    _q41 = do_valueize (valueize, _q41);
				    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (flag_unsafe_math_optimizations
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[1])
					          || !single_use (captures[2])))
					    lseq = NULL;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1595;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6528, __FILE__, __LINE__);
					  {
					    res_op->set_op (MULT_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						_o2[0] = captures[4];
						_o2[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail1595;
						_o1[0] = _r2;
					      }
					      gimple_match_op tem_op (res_op->cond.any_else (), CFN_SQRT, TREE_TYPE (_o1[0]), _o1[0]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail1595;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail1595:;
					}
				    }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    switch (TREE_CODE (_q30))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q30))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case RDIV_EXPR:
				  {
				    tree _q40 = gimple_assign_rhs1 (_a2);
				    _q40 = do_valueize (valueize, _q40);
				    tree _q41 = gimple_assign_rhs2 (_a2);
				    _q41 = do_valueize (valueize, _q41);
				    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (flag_unsafe_math_optimizations
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[1])
					          || !single_use (captures[2])))
					    lseq = NULL;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1596;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6528, __FILE__, __LINE__);
					  {
					    res_op->set_op (MULT_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						_o2[0] = captures[4];
						_o2[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail1596;
						_o1[0] = _r2;
					      }
					      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_CBRTF, TREE_TYPE (_o1[0]), _o1[0]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail1596;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail1596:;
					}
				    }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CBRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    switch (TREE_CODE (_q30))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q30))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case RDIV_EXPR:
				  {
				    tree _q40 = gimple_assign_rhs1 (_a2);
				    _q40 = do_valueize (valueize, _q40);
				    tree _q41 = gimple_assign_rhs2 (_a2);
				    _q41 = do_valueize (valueize, _q41);
				    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (flag_unsafe_math_optimizations
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[1])
					          || !single_use (captures[2])))
					    lseq = NULL;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1597;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6528, __FILE__, __LINE__);
					  {
					    res_op->set_op (MULT_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						_o2[0] = captures[4];
						_o2[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail1597;
						_o1[0] = _r2;
					      }
					      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_CBRT, TREE_TYPE (_o1[0]), _o1[0]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail1597;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail1597:;
					}
				    }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    switch (TREE_CODE (_q30))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _q30))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case RDIV_EXPR:
				  {
				    tree _q40 = gimple_assign_rhs1 (_a2);
				    _q40 = do_valueize (valueize, _q40);
				    tree _q41 = gimple_assign_rhs2 (_a2);
				    _q41 = do_valueize (valueize, _q41);
				    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q40, _q41 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      if (flag_unsafe_math_optimizations
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[1])
					          || !single_use (captures[2])))
					    lseq = NULL;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1598;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6528, __FILE__, __LINE__);
					  {
					    res_op->set_op (MULT_EXPR, type, 2);
					    res_op->ops[0] = captures[0];
					    {
					      tree _o1[1], _r1;
					      {
						tree _o2[2], _r2;
						_o2[0] = captures[4];
						_o2[1] = captures[3];
						gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						tem_op.resimplify (lseq, valueize);
						_r2 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r2) goto next_after_fail1598;
						_o1[0] = _r2;
					      }
					      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_CBRTL, TREE_TYPE (_o1[0]), _o1[0]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail1598;
					      res_op->ops[1] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail1598:;
					}
				    }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXPF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1599;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1599;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXPF, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1599;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1599:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1600;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1600;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXP, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1600;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1600:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXPL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1601;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1601;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXPL, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1601;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1601:;
			}
		    }
	          }
	        break;
	      case CFN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1602;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1602;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_EXP, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1602;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1602:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1603;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1603;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXP2F, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1603;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1603:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1604;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1604;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXP2, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1604;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1604:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1605;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1605;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXP2L, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1605;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1605:;
			}
		    }
	          }
	        break;
	      case CFN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1606;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1606;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_EXP2, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1606;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1606:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1607;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1607;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXP10F, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1607;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1607:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1608;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1608;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXP10, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1608;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1608:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1609;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1609;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXP10L, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1609;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1609:;
			}
		    }
	          }
	        break;
	      case CFN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1610;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1610;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_EXP10, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1610;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1610:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1611;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1611;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_POW10F, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1611;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1611:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1612;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1612;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_POW10, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1612;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1612:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (lseq
			      && (!single_use (captures[1])))
			    lseq = NULL;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1613;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6534, __FILE__, __LINE__);
			  {
			    res_op->set_op (MULT_EXPR, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[1], _r1;
			      {
				tree _o2[1], _r2;
				_o2[0] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				tem_op.resimplify (lseq, valueize);
				_r2 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r2) goto next_after_fail1613;
				_o1[0] = _r2;
			      }
			      gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_POW10L, TREE_TYPE (_o1[0]), _o1[0]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1613;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1613:;
			}
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_SINF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_COSF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_366 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF, CFN_BUILT_IN_TANF))
					      return true;
					  }
				        }
				    }
				  break;
				case CFN_BUILT_IN_TANF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_518 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF, CFN_BUILT_IN_COSF))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SIN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_COS:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_366 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS, CFN_BUILT_IN_TAN))
					      return true;
					  }
				        }
				    }
				  break;
				case CFN_BUILT_IN_TAN:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_518 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN, CFN_BUILT_IN_COS))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SINL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_COSL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_366 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL, CFN_BUILT_IN_TANL))
					      return true;
					  }
				        }
				    }
				  break;
				case CFN_BUILT_IN_TANL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_518 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL, CFN_BUILT_IN_COSL))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_SIN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_COS:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_366 (res_op, seq, valueize, type, captures, CFN_SIN, CFN_COS, CFN_TAN))
					      return true;
					  }
				        }
				    }
				  break;
				case CFN_TAN:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_518 (res_op, seq, valueize, type, captures, CFN_SIN, CFN_TAN, CFN_COS))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SINHF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_COSHF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_231 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF, CFN_BUILT_IN_TANHF))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SINH:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_COSH:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_231 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH, CFN_BUILT_IN_TANH))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SINHL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_COSHL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_231 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL, CFN_BUILT_IN_TANHL))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_SINH:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_COSH:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_231 (res_op, seq, valueize, type, captures, CFN_SINH, CFN_COSH, CFN_TANH))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_TANHF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SINHF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_352 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TANHF, CFN_BUILT_IN_SINHF, CFN_BUILT_IN_COSHF))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_TANH:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SINH:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_352 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TANH, CFN_BUILT_IN_SINH, CFN_BUILT_IN_COSH))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_TANHL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SINHL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_352 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TANHL, CFN_BUILT_IN_SINHL, CFN_BUILT_IN_COSHL))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_TANH:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_SINH:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_352 (res_op, seq, valueize, type, captures, CFN_TANH, CFN_SINH, CFN_COSH))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COSF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SINF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_497 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_TANF))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COS:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SIN:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_497 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COS, CFN_BUILT_IN_SIN, CFN_BUILT_IN_TAN))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_COSL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SINL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_497 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_TANL))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_COS:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_SIN:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_497 (res_op, seq, valueize, type, captures, CFN_COS, CFN_SIN, CFN_TAN))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_TANF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SINF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_60 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TANF, CFN_BUILT_IN_SINF, CFN_BUILT_IN_COSF))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_TAN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SIN:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_60 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TAN, CFN_BUILT_IN_SIN, CFN_BUILT_IN_COS))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_TANL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SINL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_60 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TANL, CFN_BUILT_IN_SINL, CFN_BUILT_IN_COSL))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_TAN:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_SIN:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					{
					  {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					    if (gimple_simplify_60 (res_op, seq, valueize, type, captures, CFN_TAN, CFN_SIN, CFN_COS))
					      return true;
					  }
				        }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
				if (gimple_simplify_149 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
				  return true;
			      }
			    }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
				if (gimple_simplify_149 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POW))
				  return true;
			      }
			    }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
				if (gimple_simplify_149 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
				  return true;
			      }
			    }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
				if (gimple_simplify_149 (res_op, seq, valueize, type, captures, CFN_POW))
				  return true;
			      }
			    }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_POWF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		      if (gimple_simplify_290 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
		        return true;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		      if (gimple_simplify_290 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POW))
		        return true;
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POWL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		      if (gimple_simplify_290 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
		        return true;
		    }
	          }
	        break;
	      case CFN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
		      if (gimple_simplify_290 (res_op, seq, valueize, type, captures, CFN_POW))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_LT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case RDIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			if (real_zerop (_p1))
			  {
			    {
/* #line 661 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      if (gimple_simplify_339 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case TRUNC_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 1292 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_131 (res_op, seq, valueize, type, captures, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case EXACT_DIV_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
									  {
									    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
									      if (gimple_simplify_404 (res_op, seq, valueize, type, captures, LT_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EXACT_DIV_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					  {
					    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					      if (gimple_simplify_404 (res_op, seq, valueize, type, captures, LT_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2224 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_395 (res_op, seq, valueize, type, captures, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case PLUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					  {
					    {
/* #line 2286 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					      if (gimple_simplify_347 (res_op, seq, valueize, type, captures, LT_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, LT_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2305 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_444 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_287 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_DIFF_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
					if (gimple_simplify_253 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, GT_EXPR))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_469 (res_op, seq, valueize, type, captures, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			if (gimple_simplify_469 (res_op, seq, valueize, type, captures, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3595 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_245 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR, BIT_IOR_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3595 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_245 (res_op, seq, valueize, type, captures, MAX_EXPR, LT_EXPR, BIT_AND_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MIN_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3605 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_243 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 3605 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_243 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1614;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1614;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1614;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1614:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1615;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1615;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1615;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1615:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1616;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1616;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1616;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1616:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 5103 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_260 (res_op, seq, valueize, type, captures, LT_EXPR, LE_EXPR))
        return true;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 5210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			      if (gimple_simplify_104 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures, LT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5293 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_222 (res_op, seq, valueize, type, captures, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5301 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      if (gimple_simplify_486 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_293 (res_op, seq, valueize, type, captures, LT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_64 (res_op, seq, valueize, type, captures, PLUS_EXPR, LT_EXPR))
				  return true;
			      }
			      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
			      if (gimple_simplify_341 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_64 (res_op, seq, valueize, type, captures, MINUS_EXPR, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_65 (res_op, seq, valueize, type, captures, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, LT_EXPR, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case REAL_CST:
		      {
			{
/* #line 5585 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_391 (res_op, seq, valueize, type, captures, LT_EXPR, LE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5669 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_3 (res_op, seq, valueize, type, captures, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 5692 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_247 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_515 (res_op, seq, valueize, type, captures, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, LT_EXPR))
		      return true;
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      case COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  {
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1 };
		    if (gimple_simplify_459 (res_op, seq, valueize, type, captures, LT_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, LT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, LT_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, LT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, LT_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, LT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, LT_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_SQRT, LT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_SQRT, LT_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q32, _p0 };
		    if (gimple_simplify_459 (res_op, seq, valueize, type, captures, GT_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ADDR_EXPR:
							        {
								  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
								    if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    case ADDR_EXPR:
						      {
							{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      case ADDR_EXPR:
					        {
						  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
						    if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case ADDR_EXPR:
						      {
							{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					      }
					    break;
					  case ADDR_EXPR:
					    {
					      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
						if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  if (uniform_integer_cst_p (_p1))
		    {
		      {
/* #line 6176 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			if (gimple_simplify_449 (res_op, seq, valueize, type, captures, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case ADDR_EXPR:
					        {
						  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
						    if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
					  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case ADDR_EXPR:
			        {
				  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
				    if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
			  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LT_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _p1))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    CASE_CONVERT:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			switch (TREE_CODE (_q30))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q30))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
					  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
				if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case ADDR_EXPR:
		      {
			{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
			  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LT_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LT_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (uniform_integer_cst_p (_p1))
    {
      {
/* #line 6176 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	if (gimple_simplify_296 (res_op, seq, valueize, type, captures, LT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
							      if (gimple_simplify_421 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
							      if (gimple_simplify_421 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
							        return true;
							    }
							    break;
							  }
						        default:;
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
			      if (gimple_simplify_341 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6351 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
			if (gimple_simplify_440 (res_op, seq, valueize, type, captures, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					    if (gimple_simplify_117 (res_op, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case REALPART_EXPR:
	        {
		  tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q30) == SSA_NAME
		       || is_gimple_min_invariant (_q30)))
		    {
		      _q30 = do_valueize (valueize, _q30);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_SUB_OVERFLOW:
				    if (gimple_call_num_args (_c2) == 2)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 6370 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
					      if (gimple_simplify_303 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
					        return true;
					    }
					  }
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case REALPART_EXPR:
	        {
		  tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q20) == SSA_NAME
		       || is_gimple_min_invariant (_q20)))
		    {
		      _q20 = do_valueize (valueize, _q20);
		      switch (TREE_CODE (_q20))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q20))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_ADD_OVERFLOW:
				    if (gimple_call_num_args (_c2) == 2)
				      {
					tree _q30 = gimple_call_arg (_c2, 0);
					_q30 = do_valueize (valueize, _q30);
					tree _q31 = gimple_call_arg (_c2, 1);
					_q31 = do_valueize (valueize, _q31);
					if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
					  {
					    {
/* #line 6378 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
					      if (gimple_simplify_306 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
					        return true;
					    }
					  }
					if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
					  {
					    {
/* #line 6378 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
					      if (gimple_simplify_306 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
					        return true;
					    }
					  }
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_all_onesp (_q20))
		    {
		      {
/* #line 6388 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
			if (gimple_simplify_439 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_500 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 7380 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_233 (res_op, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 7380 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_233 (res_op, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CTZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZLL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR, CFN_BUILT_IN_CTZIMAX))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_CTZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR, CFN_CTZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_LE_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case RDIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			if (real_zerop (_p1))
			  {
			    {
/* #line 661 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      if (gimple_simplify_339 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case TRUNC_MOD_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 1297 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_298 (res_op, seq, valueize, type, captures, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_minus_onep (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 2188 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      if (gimple_simplify_263 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case PLUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					  {
					    {
/* #line 2286 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					      if (gimple_simplify_347 (res_op, seq, valueize, type, captures, LE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, LE_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case EXACT_DIV_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
									  {
									    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
									      if (gimple_simplify_404 (res_op, seq, valueize, type, captures, LE_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EXACT_DIV_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					  {
					    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					      if (gimple_simplify_404 (res_op, seq, valueize, type, captures, LE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2224 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_395 (res_op, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2305 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_444 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_287 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_DIFF_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
					if (gimple_simplify_253 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, GE_EXPR))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_469 (res_op, seq, valueize, type, captures, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			if (gimple_simplify_469 (res_op, seq, valueize, type, captures, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3595 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_245 (res_op, seq, valueize, type, captures, MIN_EXPR, LE_EXPR, BIT_IOR_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3595 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_245 (res_op, seq, valueize, type, captures, MAX_EXPR, LE_EXPR, BIT_AND_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MAX_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3605 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_243 (res_op, seq, valueize, type, captures, MAX_EXPR, LE_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 3605 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_243 (res_op, seq, valueize, type, captures, MAX_EXPR, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1617;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), LE_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1617;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), LE_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1617;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1617:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1618;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), LE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1618;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), LE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1618;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1618:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1619;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), LE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1619;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), LE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1619;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1619:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 5093 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_82 (res_op, seq, valueize, type, captures, LE_EXPR, LT_EXPR))
        return true;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 5210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			      if (gimple_simplify_104 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_512 (res_op, seq, valueize, type, captures, LE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5293 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_222 (res_op, seq, valueize, type, captures, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5301 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      if (gimple_simplify_486 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_293 (res_op, seq, valueize, type, captures, LE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_64 (res_op, seq, valueize, type, captures, PLUS_EXPR, LE_EXPR))
				  return true;
			      }
			      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
			      if (gimple_simplify_341 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_64 (res_op, seq, valueize, type, captures, MINUS_EXPR, LE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_65 (res_op, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, LE_EXPR, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case REAL_CST:
		      {
			{
/* #line 5585 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_391 (res_op, seq, valueize, type, captures, LE_EXPR, LE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5669 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_3 (res_op, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 5692 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_247 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_515 (res_op, seq, valueize, type, captures, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, LE_EXPR))
		      return true;
		  }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5757 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_291 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      case COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  {
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1 };
		    if (gimple_simplify_459 (res_op, seq, valueize, type, captures, LE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, LE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, LE_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, LE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, LE_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, LE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, LE_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_SQRT, LE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_SQRT, LE_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q32, _p0 };
		    if (gimple_simplify_459 (res_op, seq, valueize, type, captures, GE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ADDR_EXPR:
							        {
								  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
								    if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    case ADDR_EXPR:
						      {
							{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      case ADDR_EXPR:
					        {
						  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
						    if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case ADDR_EXPR:
						      {
							{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					      }
					    break;
					  case ADDR_EXPR:
					    {
					      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
						if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  if (uniform_integer_cst_p (_p1))
		    {
		      {
/* #line 6176 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			if (gimple_simplify_449 (res_op, seq, valueize, type, captures, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case ADDR_EXPR:
					        {
						  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
						    if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
					  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LE_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case ADDR_EXPR:
			        {
				  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
				    if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
			  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _p1))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    CASE_CONVERT:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			switch (TREE_CODE (_q30))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q30))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
					  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LE_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
				if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case ADDR_EXPR:
		      {
			{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
			  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		if (gimple_simplify_406 (res_op, seq, valueize, type, captures, LE_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (uniform_integer_cst_p (_p1))
    {
      {
/* #line 6176 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	if (gimple_simplify_296 (res_op, seq, valueize, type, captures, LE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
							      if (gimple_simplify_421 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
							      if (gimple_simplify_421 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
							        return true;
							    }
							    break;
							  }
						        default:;
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
			      if (gimple_simplify_341 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 6351 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_440 (res_op, seq, valueize, type, captures, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
					    if (gimple_simplify_210 (res_op, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case REALPART_EXPR:
	        {
		  tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q20) == SSA_NAME
		       || is_gimple_min_invariant (_q20)))
		    {
		      _q20 = do_valueize (valueize, _q20);
		      switch (TREE_CODE (_q20))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q20))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_SUB_OVERFLOW:
				    if (gimple_call_num_args (_c2) == 2)
				      {
					tree _q30 = gimple_call_arg (_c2, 0);
					_q30 = do_valueize (valueize, _q30);
					tree _q31 = gimple_call_arg (_c2, 1);
					_q31 = do_valueize (valueize, _q31);
					if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
					  {
					    {
/* #line 6370 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
					      if (gimple_simplify_7 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
					        return true;
					    }
					  }
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case REALPART_EXPR:
	        {
		  tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q30) == SSA_NAME
		       || is_gimple_min_invariant (_q30)))
		    {
		      _q30 = do_valueize (valueize, _q30);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_ADD_OVERFLOW:
				    if (gimple_call_num_args (_c2) == 2)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 6378 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
					      if (gimple_simplify_282 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
					        return true;
					    }
					  }
					if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
					  {
					    {
/* #line 6378 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
					      if (gimple_simplify_282 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
					        return true;
					    }
					  }
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (integer_all_onesp (_q30))
		    {
		      {
/* #line 6388 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_76 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_500 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 7380 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_233 (res_op, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, LE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 7380 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_233 (res_op, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, LE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CTZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR, CFN_BUILT_IN_CTZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR, CFN_BUILT_IN_CTZL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR, CFN_BUILT_IN_CTZLL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR, CFN_BUILT_IN_CTZIMAX))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_CTZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR, CFN_CTZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNT))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTLL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR, CFN_BUILT_IN_POPCOUNTIMAX))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_POPCOUNT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR, CFN_POPCOUNT))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFS:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7899 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_335 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_FFS))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFSL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7899 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_335 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_FFSL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFSLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7899 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_335 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_FFSLL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFSIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7899 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_335 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR, NE_EXPR, BIT_IOR_EXPR, CFN_BUILT_IN_FFSIMAX))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_GT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case RDIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			if (real_zerop (_p1))
			  {
			    {
/* #line 661 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      if (gimple_simplify_339 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case TRUNC_MOD_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 1297 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_298 (res_op, seq, valueize, type, captures, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_minus_onep (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case INTEGER_CST:
			  {
			    {
/* #line 2188 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      if (gimple_simplify_263 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case PLUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					  {
					    {
/* #line 2286 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					      if (gimple_simplify_347 (res_op, seq, valueize, type, captures, GT_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, GT_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case EXACT_DIV_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
									  {
									    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
									      if (gimple_simplify_404 (res_op, seq, valueize, type, captures, GT_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EXACT_DIV_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					  {
					    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					      if (gimple_simplify_404 (res_op, seq, valueize, type, captures, GT_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2224 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_395 (res_op, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2305 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_444 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_287 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_DIFF_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
					if (gimple_simplify_253 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, LT_EXPR))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_469 (res_op, seq, valueize, type, captures, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			if (gimple_simplify_469 (res_op, seq, valueize, type, captures, LT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3595 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_245 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR, BIT_IOR_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3595 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_245 (res_op, seq, valueize, type, captures, MIN_EXPR, GT_EXPR, BIT_AND_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MAX_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3605 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_243 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 3605 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_243 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1620;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), GT_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1620;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), GT_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1620;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1620:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1621;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), GT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1621;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), GT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1621;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1621:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1622;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), GT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1622;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), GT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1622;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1622:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 5093 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_82 (res_op, seq, valueize, type, captures, GT_EXPR, GE_EXPR))
        return true;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 5210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			      if (gimple_simplify_104 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_349 (res_op, seq, valueize, type, captures, GT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5293 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_222 (res_op, seq, valueize, type, captures, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5301 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      if (gimple_simplify_486 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_293 (res_op, seq, valueize, type, captures, GT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_64 (res_op, seq, valueize, type, captures, PLUS_EXPR, GT_EXPR))
				  return true;
			      }
			      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
			      if (gimple_simplify_341 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_64 (res_op, seq, valueize, type, captures, MINUS_EXPR, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_65 (res_op, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, GT_EXPR, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case REAL_CST:
		      {
			{
/* #line 5585 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_391 (res_op, seq, valueize, type, captures, GT_EXPR, GE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5669 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_3 (res_op, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 5692 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_247 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_515 (res_op, seq, valueize, type, captures, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, GT_EXPR))
		      return true;
		  }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5757 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_291 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      case COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  {
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1 };
		    if (gimple_simplify_459 (res_op, seq, valueize, type, captures, GT_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, GT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, GT_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, GT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, GT_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, GT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, GT_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_SQRT, GT_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_SQRT, GT_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q32, _p0 };
		    if (gimple_simplify_459 (res_op, seq, valueize, type, captures, LT_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ADDR_EXPR:
							        {
								  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
								    if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    case ADDR_EXPR:
						      {
							{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      case ADDR_EXPR:
					        {
						  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
						    if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case ADDR_EXPR:
						      {
							{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					      }
					    break;
					  case ADDR_EXPR:
					    {
					      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
						if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  if (uniform_integer_cst_p (_p1))
		    {
		      {
/* #line 6176 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			if (gimple_simplify_449 (res_op, seq, valueize, type, captures, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case ADDR_EXPR:
					        {
						  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
						    if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
					  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case ADDR_EXPR:
			        {
				  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
				    if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
			  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GT_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _p1))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    CASE_CONVERT:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			switch (TREE_CODE (_q30))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q30))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
					  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
				if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case ADDR_EXPR:
		      {
			{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
			  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GT_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GT_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (uniform_integer_cst_p (_p1))
    {
      {
/* #line 6176 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	if (gimple_simplify_296 (res_op, seq, valueize, type, captures, GT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
							      if (gimple_simplify_421 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
							      if (gimple_simplify_421 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
							        return true;
							    }
							    break;
							  }
						        default:;
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
			      if (gimple_simplify_341 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 6351 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_440 (res_op, seq, valueize, type, captures, GT_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
					    if (gimple_simplify_210 (res_op, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case REALPART_EXPR:
	        {
		  tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q20) == SSA_NAME
		       || is_gimple_min_invariant (_q20)))
		    {
		      _q20 = do_valueize (valueize, _q20);
		      switch (TREE_CODE (_q20))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q20))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_SUB_OVERFLOW:
				    if (gimple_call_num_args (_c2) == 2)
				      {
					tree _q30 = gimple_call_arg (_c2, 0);
					_q30 = do_valueize (valueize, _q30);
					tree _q31 = gimple_call_arg (_c2, 1);
					_q31 = do_valueize (valueize, _q31);
					if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
					  {
					    {
/* #line 6370 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
					      if (gimple_simplify_7 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
					        return true;
					    }
					  }
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case REALPART_EXPR:
	        {
		  tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q30) == SSA_NAME
		       || is_gimple_min_invariant (_q30)))
		    {
		      _q30 = do_valueize (valueize, _q30);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_ADD_OVERFLOW:
				    if (gimple_call_num_args (_c2) == 2)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 6378 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
					      if (gimple_simplify_282 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
					        return true;
					    }
					  }
					if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
					  {
					    {
/* #line 6378 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q40 };
					      if (gimple_simplify_282 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
					        return true;
					    }
					  }
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (integer_all_onesp (_q30))
		    {
		      {
/* #line 6388 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_76 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_500 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 7380 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_233 (res_op, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 7380 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_233 (res_op, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CTZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_CTZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR, CFN_CTZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNT))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTLL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR, CFN_BUILT_IN_POPCOUNTIMAX))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_POPCOUNT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_zerop (_p1))
		      {
			{
/* #line 7740 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_331 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR, CFN_POPCOUNT))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFS:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7899 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_335 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFS))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFSL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7899 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_335 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFSLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7899 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_335 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSLL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_FFSIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7899 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_335 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR, EQ_EXPR, BIT_AND_EXPR, CFN_BUILT_IN_FFSIMAX))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_GE_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case RDIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			if (real_zerop (_p1))
			  {
			    {
/* #line 661 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			      if (gimple_simplify_339 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case TRUNC_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 1292 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_131 (res_op, seq, valueize, type, captures, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MULT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2175 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_365 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							switch (TREE_CODE (_q60))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q60))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case EXACT_DIV_EXPR:
								      {
									tree _q70 = gimple_assign_rhs1 (_a4);
									_q70 = do_valueize (valueize, _q70);
									tree _q71 = gimple_assign_rhs2 (_a4);
									_q71 = do_valueize (valueize, _q71);
									if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
									  {
									    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q70 };
									      if (gimple_simplify_404 (res_op, seq, valueize, type, captures, GE_EXPR))
									        return true;
									    }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EXACT_DIV_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					  {
					    {
/* #line 2200 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					      if (gimple_simplify_404 (res_op, seq, valueize, type, captures, GE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 2224 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_395 (res_op, seq, valueize, type, captures, GE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q50 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2276 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _q51 };
					if (gimple_simplify_6 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case PLUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
					  {
					    {
/* #line 2286 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					      if (gimple_simplify_347 (res_op, seq, valueize, type, captures, GE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, GE_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2305 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					if (gimple_simplify_444 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q51 };
					if (gimple_simplify_287 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case POINTER_DIFF_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_DIFF_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 2320 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q50 };
					if (gimple_simplify_411 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 2347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q51 };
					if (gimple_simplify_253 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, LE_EXPR))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2359 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_115 (res_op, seq, valueize, type, captures, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 2400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
			if (gimple_simplify_469 (res_op, seq, valueize, type, captures, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 2400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
			if (gimple_simplify_469 (res_op, seq, valueize, type, captures, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3595 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_245 (res_op, seq, valueize, type, captures, MAX_EXPR, GE_EXPR, BIT_IOR_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3595 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_245 (res_op, seq, valueize, type, captures, MIN_EXPR, GE_EXPR, BIT_AND_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MIN_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3605 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_243 (res_op, seq, valueize, type, captures, MIN_EXPR, GE_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 3605 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_243 (res_op, seq, valueize, type, captures, MIN_EXPR, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1623;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), GE_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1623;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), GE_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1623;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1623:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1624;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), GE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1624;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), GE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1624;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1624:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1625;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), GE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1625;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), GE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1625;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1625:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 5103 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_260 (res_op, seq, valueize, type, captures, GE_EXPR, GT_EXPR))
        return true;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			if (integer_zerop (_p1))
			  {
			    {
/* #line 5210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			      if (gimple_simplify_104 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_512 (res_op, seq, valueize, type, captures, GE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5293 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_222 (res_op, seq, valueize, type, captures, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5301 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		      if (gimple_simplify_486 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 5311 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_293 (res_op, seq, valueize, type, captures, GE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_64 (res_op, seq, valueize, type, captures, PLUS_EXPR, GE_EXPR))
				  return true;
			      }
			      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21 };
			      if (gimple_simplify_341 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5384 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_64 (res_op, seq, valueize, type, captures, MINUS_EXPR, GE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 5400 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_65 (res_op, seq, valueize, type, captures, GE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, GE_EXPR, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case REAL_CST:
		      {
			{
/* #line 5585 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_391 (res_op, seq, valueize, type, captures, GE_EXPR, GE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case EXACT_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 5669 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_3 (res_op, seq, valueize, type, captures, GE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EXACT_DIV_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 5692 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						if (gimple_simplify_247 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_515 (res_op, seq, valueize, type, captures, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 5800 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_127 (res_op, seq, valueize, type, captures, GE_EXPR))
		      return true;
		  }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      case COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  {
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1 };
		    if (gimple_simplify_459 (res_op, seq, valueize, type, captures, GE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTF:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, GE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTF, GE_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, GE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRT, GE_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_BUILT_IN_SQRTL:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, GE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SQRTL, GE_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			      switch (gimple_call_combined_fn (_c2))
				{
				case CFN_SQRT:
				  if (gimple_call_num_args (_c2) == 1)
				    {
				      tree _q40 = gimple_call_arg (_c2, 0);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
					if (gimple_simplify_337 (res_op, seq, valueize, type, captures, CFN_SQRT, GE_EXPR))
					  return true;
				      }
				    }
				  break;
				default:;
				}
		          }
		        break;
		      case REAL_CST:
		        {
			  {
/* #line 5408 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			    if (gimple_simplify_385 (res_op, seq, valueize, type, captures, CFN_SQRT, GE_EXPR))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 6017 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q32, _p0 };
		    if (gimple_simplify_459 (res_op, seq, valueize, type, captures, LE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ADDR_EXPR:
							        {
								  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
								    if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    case ADDR_EXPR:
						      {
							{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      case ADDR_EXPR:
					        {
						  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
						    if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case ADDR_EXPR:
						      {
							{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
							  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					      }
					    break;
					  case ADDR_EXPR:
					    {
					      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
						if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
					  if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
				if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  if (uniform_integer_cst_p (_p1))
		    {
		      {
/* #line 6176 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			if (gimple_simplify_449 (res_op, seq, valueize, type, captures, GE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case ADDR_EXPR:
					        {
						  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
						    if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
					  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GE_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case ADDR_EXPR:
			        {
				  {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
				    if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
			  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _p1))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    CASE_CONVERT:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			switch (TREE_CODE (_q30))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q30))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case ADDR_EXPR:
				      {
					{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
					  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GE_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q30 };
				if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case ADDR_EXPR:
		      {
			{
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
			  if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GE_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 6111 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
		if (gimple_simplify_406 (res_op, seq, valueize, type, captures, GE_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  if (uniform_integer_cst_p (_p1))
    {
      {
/* #line 6176 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _p1 };
	if (gimple_simplify_296 (res_op, seq, valueize, type, captures, GE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31 };
							      if (gimple_simplify_421 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
							        return true;
							    }
							  }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _p0, _q41 };
							      if (gimple_simplify_421 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
							        return true;
							    }
							    break;
							  }
						        default:;
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[5] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _p0, _q31 };
			      if (gimple_simplify_341 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
			        return true;
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 6351 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
			if (gimple_simplify_440 (res_op, seq, valueize, type, captures, LE_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
					    if (gimple_simplify_117 (res_op, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case REALPART_EXPR:
	        {
		  tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q30) == SSA_NAME
		       || is_gimple_min_invariant (_q30)))
		    {
		      _q30 = do_valueize (valueize, _q30);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_SUB_OVERFLOW:
				    if (gimple_call_num_args (_c2) == 2)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 6370 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q41 };
					      if (gimple_simplify_303 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
					        return true;
					    }
					  }
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case REALPART_EXPR:
	        {
		  tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q20) == SSA_NAME
		       || is_gimple_min_invariant (_q20)))
		    {
		      _q20 = do_valueize (valueize, _q20);
		      switch (TREE_CODE (_q20))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q20))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_ADD_OVERFLOW:
				    if (gimple_call_num_args (_c2) == 2)
				      {
					tree _q30 = gimple_call_arg (_c2, 0);
					_q30 = do_valueize (valueize, _q30);
					tree _q31 = gimple_call_arg (_c2, 1);
					_q31 = do_valueize (valueize, _q31);
					if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
					  {
					    {
/* #line 6378 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q31 };
					      if (gimple_simplify_306 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
					        return true;
					    }
					  }
					if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
					  {
					    {
/* #line 6378 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q31, _q30 };
					      if (gimple_simplify_306 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
					        return true;
					    }
					  }
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_all_onesp (_q20))
		    {
		      {
/* #line 6388 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _p1 };
			if (gimple_simplify_439 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case REAL_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case REAL_CST:
			    {
			      {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_500 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 7380 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_233 (res_op, seq, valueize, type, captures, PLUS_EXPR, MINUS_EXPR, GE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 7380 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
				if (gimple_simplify_233 (res_op, seq, valueize, type, captures, MINUS_EXPR, PLUS_EXPR, GE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_CTZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZLL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_CTZIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR, CFN_BUILT_IN_CTZIMAX))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_CTZ:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 7667 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_261 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR, CFN_CTZ))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CEIL_MOD_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_zerop (_p0))
    {
      {
/* #line 713 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_61 (res_op, seq, valueize, type, captures, CEIL_MOD_EXPR))
	  return true;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 718 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_108 (res_op, seq, valueize, type, captures, CEIL_MOD_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 722 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_48 (res_op, seq, valueize, type, captures, CEIL_MOD_EXPR))
	  return true;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 728 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_445 (res_op, seq, valueize, type, captures, CEIL_MOD_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case CEIL_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 733 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_69 (res_op, seq, valueize, type, captures, CEIL_MOD_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 737 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_216 (res_op, seq, valueize, type, captures, CEIL_MOD_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1626;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), CEIL_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1626;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), CEIL_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1626;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1626:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1627;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), CEIL_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1627;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), CEIL_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1627;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1627:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1628;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), CEIL_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1628;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), CEIL_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1628;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1628:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_ROUND_MOD_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_zerop (_p0))
    {
      {
/* #line 713 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_61 (res_op, seq, valueize, type, captures, ROUND_MOD_EXPR))
	  return true;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 718 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_108 (res_op, seq, valueize, type, captures, ROUND_MOD_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 722 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_48 (res_op, seq, valueize, type, captures, ROUND_MOD_EXPR))
	  return true;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 728 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_445 (res_op, seq, valueize, type, captures, ROUND_MOD_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ROUND_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 733 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_69 (res_op, seq, valueize, type, captures, ROUND_MOD_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 737 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_216 (res_op, seq, valueize, type, captures, ROUND_MOD_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1629;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), ROUND_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1629;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), ROUND_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1629;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1629:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1630;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), ROUND_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1630;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), ROUND_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1630;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1630:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1631;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), ROUND_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1631;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), ROUND_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1631;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1631:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_TRUNC_MOD_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_zerop (_p0))
    {
      {
/* #line 713 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_61 (res_op, seq, valueize, type, captures, TRUNC_MOD_EXPR))
	  return true;
      }
    }
  if (integer_onep (_p1))
    {
      {
/* #line 718 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_108 (res_op, seq, valueize, type, captures, TRUNC_MOD_EXPR))
	  return true;
      }
    }
  if (integer_minus_onep (_p1))
    {
      {
/* #line 722 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_48 (res_op, seq, valueize, type, captures, TRUNC_MOD_EXPR))
	  return true;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 728 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_445 (res_op, seq, valueize, type, captures, TRUNC_MOD_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case TRUNC_MOD_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 733 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_69 (res_op, seq, valueize, type, captures, TRUNC_MOD_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 737 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_216 (res_op, seq, valueize, type, captures, TRUNC_MOD_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 765 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
				    if (gimple_simplify_84 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		{
		  tree _q30_pops[1];
		  if (gimple_power_of_two_cand (_q30, _q30_pops, valueize))
		    {
		      tree _q40 = _q30_pops[0];
		      {
/* #line 810 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
			if (gimple_simplify_521 (res_op, seq, valueize, type, captures, TRUNC_MOD_EXPR))
			  return true;
		      }
}
		}
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 765 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    if (gimple_simplify_84 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case INTEGER_CST:
      {
	{
/* #line 754 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 754 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1632;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 760, __FILE__, __LINE__);
	      {
		res_op->set_op (TRUNC_MOD_EXPR, type, 2);
		res_op->ops[0] = captures[0];
		{
		  tree _o1[1], _r1;
		  _o1[0] = captures[1];
		  gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
		  tem_op.resimplify (lseq, valueize);
		  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		  if (!_r1) goto next_after_fail1632;
		  res_op->ops[1] = _r1;
		}
		res_op->resimplify (lseq, valueize);
		return true;
	      }
next_after_fail1632:;
	    }
	}
        break;
      }
    default:;
    }
{
  tree _p1_pops[1];
  if (gimple_power_of_two_cand (_p1, _p1_pops, valueize))
    {
      tree _q30 = _p1_pops[0];
      {
/* #line 810 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
	if (gimple_simplify_521 (res_op, seq, valueize, type, captures, TRUNC_MOD_EXPR))
	  return true;
      }
}
}
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1633;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1633;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1633;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1633:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1634;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1634;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1634;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1634:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1635;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1635;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1635;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1635:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_LSHIFT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case TRUNC_MOD_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
		    tree _q31_pops[1];
		    if (gimple_power_of_two_cand (_q31, _q31_pops, valueize))
		      {
			tree _q50 = _q31_pops[0];
			{
/* #line 805 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
			  if (gimple_simplify_363 (res_op, seq, valueize, type, captures, LSHIFT_EXPR, TRUNC_MOD_EXPR))
			    return true;
			}
}
		  }
	          break;
	        }
	      case FLOOR_MOD_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
		    tree _q31_pops[1];
		    if (gimple_power_of_two_cand (_q31, _q31_pops, valueize))
		      {
			tree _q50 = _q31_pops[0];
			{
/* #line 805 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
			  if (gimple_simplify_363 (res_op, seq, valueize, type, captures, LSHIFT_EXPR, FLOOR_MOD_EXPR))
			    return true;
			}
}
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 1004 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_87 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
        return true;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_zerop (_q31))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case INTEGER_CST:
					  {
					    {
/* #line 1050 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
/* #line 1050 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 wide_int wone = wi::one (TYPE_PRECISION (type));
						      gimple_seq *lseq = seq;
						      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1636;
						      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1053, __FILE__, __LINE__);
						      {
							res_op->set_op (BIT_AND_EXPR, type, 2);
							{
							  tree _o1[1], _r1;
							  _o1[0] = captures[0];
							  if (type != TREE_TYPE (_o1[0])
							      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
							    {
							      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
							      tem_op.resimplify (lseq, valueize);
							      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							      if (!_r1) goto next_after_fail1636;
							    }
							  else
							    _r1 = _o1[0];
							  res_op->ops[0] = _r1;
							}
							res_op->ops[1] =  wide_int_to_tree (type,
 wi::lshift (wone, wi::to_wide (captures[2])));
							res_op->resimplify (lseq, valueize);
							return true;
						      }
next_after_fail1636:;
						  }
						}
					    }
					    break;
					  }
				        default:;
				        }
				    }
			          break;
			        }
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case RSHIFT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _q41 };
/* #line 3681 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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]))))
)
								{
								  gimple_seq *lseq = seq;
								  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1637;
								  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3693, __FILE__, __LINE__);
								  {
								    res_op->set_op (BIT_AND_EXPR, type, 2);
								    {
								      tree _o1[1], _r1;
								      _o1[0] = captures[1];
								      if (type != TREE_TYPE (_o1[0])
								          && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
									{
									  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
									  tem_op.resimplify (lseq, valueize);
									  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
									  if (!_r1) goto next_after_fail1637;
								        }
								      else
								        _r1 = _o1[0];
								      res_op->ops[0] = _r1;
								    }
								    {
								      tree _o1[2], _r1;
								      _o1[0] =  build_minus_one_cst (type);
								      _o1[1] = captures[2];
								      gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
								      tem_op.resimplify (lseq, valueize);
								      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
								      if (!_r1) goto next_after_fail1637;
								      res_op->ops[1] = _r1;
								    }
								    res_op->resimplify (lseq, valueize);
								    return true;
								  }
next_after_fail1637:;
								}
							    }
							  }
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			      if (gimple_simplify_16 (res_op, seq, valueize, type, captures))
			        return true;
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_nop_convert (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      switch (TREE_CODE (_q20))
        {
	case SSA_NAME:
	  if (gimple *_d1 = get_def (valueize, _q20))
	    {
	      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	        switch (gimple_assign_rhs_code (_a1))
		  {
		  case RSHIFT_EXPR:
		    {
		      tree _q30 = gimple_assign_rhs1 (_a1);
		      _q30 = do_valueize (valueize, _q30);
		      tree _q31 = gimple_assign_rhs2 (_a1);
		      _q31 = do_valueize (valueize, _q31);
		      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
				  if (gimple_simplify_16 (res_op, seq, valueize, type, captures))
				    return true;
				}
			      }
			    break;
			  }
		        default:;
		        }
		      break;
		    }
		  default:;
		  }
	    }
	  break;
        default:;
        }
}
}
if (integer_onep (_p0))
  {
    switch (TREE_CODE (_p1))
      {
      case SSA_NAME:
        if (gimple *_d1 = get_def (valueize, _p1))
          {
	    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	      switch (gimple_assign_rhs_code (_a1))
		{
		case MINUS_EXPR:
		  {
		    tree _q30 = gimple_assign_rhs1 (_a1);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_assign_rhs2 (_a1);
		    _q31 = do_valueize (valueize, _q31);
		    switch (TREE_CODE (_q30))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 1038 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
/* #line 1038 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				if (TYPE_UNSIGNED (type)
)
				  {
				    gimple_seq *lseq = seq;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1638;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1042, __FILE__, __LINE__);
				    {
				      res_op->set_op (RSHIFT_EXPR, type, 2);
				      {
					tree _o1[2], _r1;
					_o1[0] = captures[0];
					_o1[1] = captures[2];
					gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					tem_op.resimplify (lseq, valueize);
					_r1 = maybe_push_res_to_seq (&tem_op, lseq);
					if (!_r1) goto next_after_fail1638;
					res_op->ops[0] = _r1;
				      }
				      res_op->ops[1] = captures[3];
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1638:;
				  }
				else
				  {
				    {
/* #line 1043 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
					gimple_seq *lseq = seq;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1639;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1045, __FILE__, __LINE__);
					{
					  res_op->set_op (NOP_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    {
					      tree _o2[2], _r2;
					      {
						tree _o3[1], _r3;
						_o3[0] = captures[0];
						if (utype != TREE_TYPE (_o3[0])
						    && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
						  {
						    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
						    tem_op.resimplify (lseq, valueize);
						    _r3 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r3) goto next_after_fail1639;
						  }
						else
						  _r3 = _o3[0];
						_o2[0] = _r3;
					      }
					      _o2[1] = captures[2];
					      gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
					      tem_op.resimplify (lseq, valueize);
					      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r2) goto next_after_fail1639;
					      _o1[0] = _r2;
					    }
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1639;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1639:;
				    }
				  }
			      }
			  }
		          break;
		        }
		      default:;
		      }
		    break;
		  }
		default:;
		}
          }
        break;
      default:;
      }
  }
  if (integer_zerop (_p1))
    {
      {
/* #line 3711 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_307 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3714 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_150 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case CONSTRUCTOR:
	        {
		  {
/* #line 3720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (gimple_simplify_376 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
	{
	  {
/* #line 3730 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	    if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
	      return true;
	  }
	}
      break;
    case VECTOR_CST:
      {
	{
/* #line 3720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_359 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3751 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_324 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_493 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, LSHIFT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_493 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, LSHIFT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_493 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LSHIFT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
				if (gimple_simplify_275 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, LSHIFT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
				if (gimple_simplify_275 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, LSHIFT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
				if (gimple_simplify_275 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LSHIFT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1640;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1640;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1640;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1640:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1641;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1641;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1641;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1641:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1642;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1642;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1642;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1642:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case VEC_PERM_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      tree _q61 = gimple_assign_rhs2 (_a2);
				      _q61 = do_valueize (valueize, _q61);
				      tree _q62 = gimple_assign_rhs3 (_a2);
				      _q62 = do_valueize (valueize, _q62);
				      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 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (VECTOR_INTEGER_TYPE_P (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1643;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8488, __FILE__, __LINE__);
						    {
						      res_op->set_op (VEC_PERM_EXPR, type, 3);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[2];
							gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1643;
							captures[3] = _r1;
						      }
						      res_op->ops[0] = captures[3];
						      res_op->ops[1] = captures[3];
						      res_op->ops[2] = captures[1];
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1643:;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_RSHIFT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case TRUNC_MOD_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
		    tree _q31_pops[1];
		    if (gimple_power_of_two_cand (_q31, _q31_pops, valueize))
		      {
			tree _q50 = _q31_pops[0];
			{
/* #line 805 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
			  if (gimple_simplify_363 (res_op, seq, valueize, type, captures, RSHIFT_EXPR, TRUNC_MOD_EXPR))
			    return true;
			}
}
		  }
	          break;
	        }
	      case FLOOR_MOD_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
		    tree _q31_pops[1];
		    if (gimple_power_of_two_cand (_q31, _q31_pops, valueize))
		      {
			tree _q50 = _q31_pops[0];
			{
/* #line 805 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q50 };
			  if (gimple_simplify_363 (res_op, seq, valueize, type, captures, RSHIFT_EXPR, FLOOR_MOD_EXPR))
			    return true;
			}
}
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (uniform_integer_cst_p (_p1))
  {
    {
/* #line 1004 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_87 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
        return true;
    }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 1061 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
/* #line 1061 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (!TYPE_UNSIGNED (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
)
			    {
			      {
/* #line 1063 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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)
)
				    {
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[0])))
				        lseq = NULL;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1644;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1077, __FILE__, __LINE__);
				      {
					res_op->set_op (NEGATE_EXPR, type, 1);
					{
					  tree _o1[1], _r1;
					  {
					    tree _o2[2], _r2;
					    _o2[0] = captures[1];
					    _o2[1] =  zeros;
					    gimple_match_op tem_op (res_op->cond.any_else (), GT_EXPR, boolean_type_node, _o2[0], _o2[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail1644;
					    _o1[0] = _r2;
					  }
					  if (type != TREE_TYPE (_o1[0])
					      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
					    {
					      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail1644;
					    }
					  else
					    _r1 = _o1[0];
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1644:;
				    }
				  else
				    {
/* #line 1079 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])))
					    lseq = NULL;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1645;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1088, __FILE__, __LINE__);
					  {
					    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
					    {
					      tree _o1[2], _r1;
					      _o1[0] = captures[1];
					      _o1[1] =  zeros;
					      gimple_match_op tem_op (res_op->cond.any_else (), GT_EXPR, bt, _o1[0], _o1[1]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail1645;
					      res_op->ops[0] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail1645:;
					}
				    }
			      }
			    }
			}
		        break;
		      }
		    case VECTOR_CST:
		      {
			{
/* #line 1061 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
/* #line 1061 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (!TYPE_UNSIGNED (type)
 && TYPE_OVERFLOW_UNDEFINED (type)
)
			    {
			      {
/* #line 1063 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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)
)
				    {
				      gimple_seq *lseq = seq;
				      if (lseq
				          && (!single_use (captures[0])))
				        lseq = NULL;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1646;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1077, __FILE__, __LINE__);
				      {
					res_op->set_op (NEGATE_EXPR, type, 1);
					{
					  tree _o1[1], _r1;
					  {
					    tree _o2[2], _r2;
					    _o2[0] = captures[1];
					    _o2[1] =  zeros;
					    gimple_match_op tem_op (res_op->cond.any_else (), GT_EXPR, boolean_type_node, _o2[0], _o2[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail1646;
					    _o1[0] = _r2;
					  }
					  if (type != TREE_TYPE (_o1[0])
					      && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
					    {
					      gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail1646;
					    }
					  else
					    _r1 = _o1[0];
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1646:;
				    }
				  else
				    {
/* #line 1079 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
					{
					  gimple_seq *lseq = seq;
					  if (lseq
					      && (!single_use (captures[0])))
					    lseq = NULL;
					  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1647;
					  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1088, __FILE__, __LINE__);
					  {
					    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
					    {
					      tree _o1[2], _r1;
					      _o1[0] = captures[1];
					      _o1[1] =  zeros;
					      gimple_match_op tem_op (res_op->cond.any_else (), GT_EXPR, bt, _o1[0], _o1[1]);
					      tem_op.resimplify (lseq, valueize);
					      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r1) goto next_after_fail1647;
					      res_op->ops[0] = _r1;
					    }
					    res_op->resimplify (lseq, valueize);
					    return true;
					  }
next_after_fail1647:;
					}
				    }
			      }
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 3699 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (TYPE_UNSIGNED (type)
 && (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type)))
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1648;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3701, __FILE__, __LINE__);
				  {
				    res_op->set_op (BIT_AND_EXPR, type, 2);
				    res_op->ops[0] = captures[0];
				    {
				      tree _o1[2], _r1;
				      _o1[0] =  build_minus_one_cst (type);
				      _o1[1] = captures[1];
				      gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1648;
				      res_op->ops[1] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1648:;
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (integer_all_onesp (_p0))
  {
    {
/* #line 3669 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3669 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      if (!TYPE_UNSIGNED (type)
)
	{
	  gimple_seq *lseq = seq;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1649;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3670, __FILE__, __LINE__);
	  {
	    tree tem;
	    tem = captures[0];
	    res_op->set_value (tem);
	    return true;
	  }
next_after_fail1649:;
	}
    }
  }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 3706 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1650;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3706, __FILE__, __LINE__);
	{
	  tree tem;
	  tem =  build_zero_cst (type);
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1650:;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 3711 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_307 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3714 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_150 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case CONSTRUCTOR:
	        {
		  {
/* #line 3720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (gimple_simplify_376 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
	{
	  {
/* #line 3730 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	    if (gimple_simplify_156 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
	      return true;
	  }
	}
      break;
    case VECTOR_CST:
      {
	{
/* #line 3720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_359 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case RSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3751 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_324 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_493 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, RSHIFT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_493 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, RSHIFT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_493 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, RSHIFT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
			  else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP16:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_p1))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4401 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_223 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
			          }
			        break;
			      case CFN_BUILT_IN_BSWAP32:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_p1))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4401 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_223 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
			          }
			        break;
			      case CFN_BUILT_IN_BSWAP64:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_p1))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4401 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_223 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
			          }
			        break;
			      case CFN_BUILT_IN_BSWAP128:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_p1))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4401 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_223 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
				if (gimple_simplify_275 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, RSHIFT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
				if (gimple_simplify_275 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, RSHIFT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3963 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1 };
				if (gimple_simplify_275 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, RSHIFT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1651;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1651;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1651;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1651:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1652;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1652;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1652;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1652:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_BSWAP16:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4401 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_223 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_BSWAP32:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4401 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_223 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_BSWAP64:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4401 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_223 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_BSWAP128:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4401 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_223 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1653;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1653;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1653;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1653:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MULT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case PLUS_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case RSHIFT_EXPR:
							        {
								  tree _q50 = gimple_assign_rhs1 (_a4);
								  _q50 = do_valueize (valueize, _q50);
								  tree _q51 = gimple_assign_rhs2 (_a4);
								  _q51 = do_valueize (valueize, _q51);
								  switch (TREE_CODE (_q51))
								    {
								    case INTEGER_CST:
								      {
									if ((_q41 == _q50 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q50, 0) && types_match (_q41, _q50)))
									  {
									    switch (TREE_CODE (_q41))
									      {
									      case SSA_NAME:
									        if (gimple *_d5 = get_def (valueize, _q41))
									          {
										    if (gassign *_a5 = dyn_cast <gassign *> (_d5))
										      switch (gimple_assign_rhs_code (_a5))
											{
											case PLUS_EXPR:
											  {
											    tree _q90 = gimple_assign_rhs1 (_a5);
											    _q90 = do_valueize (valueize, _q90);
											    tree _q91 = gimple_assign_rhs2 (_a5);
											    _q91 = do_valueize (valueize, _q91);
											    if (tree_swap_operands_p (_q90, _q91))
											      std::swap (_q90, _q91);
											    switch (TREE_CODE (_q90))
											      {
											      case SSA_NAME:
											        if (gimple *_d6 = get_def (valueize, _q90))
											          {
												    if (gassign *_a6 = dyn_cast <gassign *> (_d6))
												      switch (gimple_assign_rhs_code (_a6))
													{
													case BIT_AND_EXPR:
													  {
													    tree _q100 = gimple_assign_rhs1 (_a6);
													    _q100 = do_valueize (valueize, _q100);
													    tree _q101 = gimple_assign_rhs2 (_a6);
													    _q101 = do_valueize (valueize, _q101);
													    if (tree_swap_operands_p (_q100, _q101))
													      std::swap (_q100, _q101);
													    switch (TREE_CODE (_q101))
													      {
													      case INTEGER_CST:
													        {
														  switch (TREE_CODE (_q91))
														    {
														    case SSA_NAME:
														      if (gimple *_d7 = get_def (valueize, _q91))
														        {
															  if (gassign *_a7 = dyn_cast <gassign *> (_d7))
															    switch (gimple_assign_rhs_code (_a7))
															      {
															      case BIT_AND_EXPR:
															        {
																  tree _q130 = gimple_assign_rhs1 (_a7);
																  _q130 = do_valueize (valueize, _q130);
																  tree _q131 = gimple_assign_rhs2 (_a7);
																  _q131 = do_valueize (valueize, _q131);
																  if (tree_swap_operands_p (_q130, _q131))
																    std::swap (_q130, _q131);
																  switch (TREE_CODE (_q130))
																    {
																    case SSA_NAME:
																      if (gimple *_d8 = get_def (valueize, _q130))
																        {
																	  if (gassign *_a8 = dyn_cast <gassign *> (_d8))
																	    switch (gimple_assign_rhs_code (_a8))
																	      {
																	      case RSHIFT_EXPR:
																	        {
																		  tree _q140 = gimple_assign_rhs1 (_a8);
																		  _q140 = do_valueize (valueize, _q140);
																		  tree _q141 = gimple_assign_rhs2 (_a8);
																		  _q141 = do_valueize (valueize, _q141);
																		  if ((_q140 == _q100 && ! TREE_SIDE_EFFECTS (_q140)) || (operand_equal_p (_q140, _q100, 0) && types_match (_q140, _q100)))
																		    {
																		      switch (TREE_CODE (_q140))
																		        {
																			case SSA_NAME:
																			  if (gimple *_d9 = get_def (valueize, _q140))
																			    {
																			      if (gassign *_a9 = dyn_cast <gassign *> (_d9))
																			        switch (gimple_assign_rhs_code (_a9))
																				  {
																				  case MINUS_EXPR:
																				    {
																				      tree _q160 = gimple_assign_rhs1 (_a9);
																				      _q160 = do_valueize (valueize, _q160);
																				      tree _q161 = gimple_assign_rhs2 (_a9);
																				      _q161 = do_valueize (valueize, _q161);
																				      switch (TREE_CODE (_q161))
																				        {
																					case SSA_NAME:
																					  if (gimple *_d10 = get_def (valueize, _q161))
																					    {
																					      if (gassign *_a10 = dyn_cast <gassign *> (_d10))
																					        switch (gimple_assign_rhs_code (_a10))
																						  {
																						  case BIT_AND_EXPR:
																						    {
																						      tree _q180 = gimple_assign_rhs1 (_a10);
																						      _q180 = do_valueize (valueize, _q180);
																						      tree _q181 = gimple_assign_rhs2 (_a10);
																						      _q181 = do_valueize (valueize, _q181);
																						      if (tree_swap_operands_p (_q180, _q181))
																						        std::swap (_q180, _q181);
																						      switch (TREE_CODE (_q180))
																						        {
																							case SSA_NAME:
																							  if (gimple *_d11 = get_def (valueize, _q180))
																							    {
																							      if (gassign *_a11 = dyn_cast <gassign *> (_d11))
																							        switch (gimple_assign_rhs_code (_a11))
																								  {
																								  case RSHIFT_EXPR:
																								    {
																								      tree _q190 = gimple_assign_rhs1 (_a11);
																								      _q190 = do_valueize (valueize, _q190);
																								      tree _q191 = gimple_assign_rhs2 (_a11);
																								      _q191 = do_valueize (valueize, _q191);
																								      if ((_q190 == _q160 && ! TREE_SIDE_EFFECTS (_q190)) || (operand_equal_p (_q190, _q160, 0) && types_match (_q190, _q160)))
																									{
																									  switch (TREE_CODE (_q191))
																									    {
																									    case INTEGER_CST:
																									      {
																										switch (TREE_CODE (_q181))
																										  {
																										  case INTEGER_CST:
																										    {
																										      switch (TREE_CODE (_q141))
																										        {
																											case INTEGER_CST:
																											  {
																											    switch (TREE_CODE (_q131))
																											      {
																											      case INTEGER_CST:
																											        {
																												  switch (TREE_CODE (_q31))
																												    {
																												    case INTEGER_CST:
																												      {
																													switch (TREE_CODE (_q21))
																													  {
																													  case INTEGER_CST:
																													    {
																													      switch (TREE_CODE (_p1))
																													        {
																														case INTEGER_CST:
																														  {
																														    {
/* #line 7810 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
																														      tree captures[12] ATTRIBUTE_UNUSED = { _q50, _q51, _q100, _q101, _q160, _q191, _q181, _q141, _q131, _q31, _q21, _p1 };
																														      if (gimple_simplify_225 (res_op, seq, valueize, type, captures))
																														        return true;
																														    }
																														    break;
																														  }
																													        default:;
																													        }
																													      break;
																													    }
																												          default:;
																												          }
																												        break;
																												      }
																												    default:;
																												    }
																											          break;
																											        }
																											      default:;
																											      }
																											    break;
																											  }
																										        default:;
																										        }
																										      break;
																										    }
																									          default:;
																									          }
																									        break;
																									      }
																									    default:;
																									    }
																								        }
																								      break;
																								    }
																								  default:;
																								  }
																							    }
																							  break;
																						        default:;
																						        }
																						      break;
																						    }
																						  default:;
																						  }
																					    }
																					  break;
																				        default:;
																				        }
																				      break;
																				    }
																				  default:;
																				  }
																			    }
																			  break;
																		        default:;
																		        }
																		    }
																	          break;
																	        }
																	      default:;
																	      }
																        }
																      break;
																    default:;
																    }
															          break;
															        }
															      default:;
															      }
														        }
														      break;
														    default:;
														    }
													          break;
													        }
													      default:;
													      }
													    switch (TREE_CODE (_q100))
													      {
													      case SSA_NAME:
													        if (gimple *_d7 = get_def (valueize, _q100))
													          {
														    if (gassign *_a7 = dyn_cast <gassign *> (_d7))
														      switch (gimple_assign_rhs_code (_a7))
															{
															case RSHIFT_EXPR:
															  {
															    tree _q110 = gimple_assign_rhs1 (_a7);
															    _q110 = do_valueize (valueize, _q110);
															    tree _q111 = gimple_assign_rhs2 (_a7);
															    _q111 = do_valueize (valueize, _q111);
															    switch (TREE_CODE (_q110))
															      {
															      case SSA_NAME:
															        if (gimple *_d8 = get_def (valueize, _q110))
															          {
																    if (gassign *_a8 = dyn_cast <gassign *> (_d8))
																      switch (gimple_assign_rhs_code (_a8))
																	{
																	case MINUS_EXPR:
																	  {
																	    tree _q120 = gimple_assign_rhs1 (_a8);
																	    _q120 = do_valueize (valueize, _q120);
																	    tree _q121 = gimple_assign_rhs2 (_a8);
																	    _q121 = do_valueize (valueize, _q121);
																	    switch (TREE_CODE (_q121))
																	      {
																	      case SSA_NAME:
																	        if (gimple *_d9 = get_def (valueize, _q121))
																	          {
																		    if (gassign *_a9 = dyn_cast <gassign *> (_d9))
																		      switch (gimple_assign_rhs_code (_a9))
																			{
																			case BIT_AND_EXPR:
																			  {
																			    tree _q140 = gimple_assign_rhs1 (_a9);
																			    _q140 = do_valueize (valueize, _q140);
																			    tree _q141 = gimple_assign_rhs2 (_a9);
																			    _q141 = do_valueize (valueize, _q141);
																			    if (tree_swap_operands_p (_q140, _q141))
																			      std::swap (_q140, _q141);
																			    switch (TREE_CODE (_q140))
																			      {
																			      case SSA_NAME:
																			        if (gimple *_d10 = get_def (valueize, _q140))
																			          {
																				    if (gassign *_a10 = dyn_cast <gassign *> (_d10))
																				      switch (gimple_assign_rhs_code (_a10))
																					{
																					case RSHIFT_EXPR:
																					  {
																					    tree _q150 = gimple_assign_rhs1 (_a10);
																					    _q150 = do_valueize (valueize, _q150);
																					    tree _q151 = gimple_assign_rhs2 (_a10);
																					    _q151 = do_valueize (valueize, _q151);
																					    if ((_q150 == _q120 && ! TREE_SIDE_EFFECTS (_q150)) || (operand_equal_p (_q150, _q120, 0) && types_match (_q150, _q120)))
																					      {
																						switch (TREE_CODE (_q151))
																						  {
																						  case INTEGER_CST:
																						    {
																						      switch (TREE_CODE (_q141))
																						        {
																							case INTEGER_CST:
																							  {
																							    switch (TREE_CODE (_q111))
																							      {
																							      case INTEGER_CST:
																							        {
																								  switch (TREE_CODE (_q101))
																								    {
																								    case INTEGER_CST:
																								      {
																									switch (TREE_CODE (_q91))
																									  {
																									  case SSA_NAME:
																									    if (gimple *_d11 = get_def (valueize, _q91))
																									      {
																										if (gassign *_a11 = dyn_cast <gassign *> (_d11))
																										  switch (gimple_assign_rhs_code (_a11))
																										    {
																										    case BIT_AND_EXPR:
																										      {
																											tree _q210 = gimple_assign_rhs1 (_a11);
																											_q210 = do_valueize (valueize, _q210);
																											tree _q211 = gimple_assign_rhs2 (_a11);
																											_q211 = do_valueize (valueize, _q211);
																											if (tree_swap_operands_p (_q210, _q211))
																											  std::swap (_q210, _q211);
																											if ((_q210 == _q110 && ! TREE_SIDE_EFFECTS (_q210)) || (operand_equal_p (_q210, _q110, 0) && types_match (_q210, _q110)))
																											  {
																											    switch (TREE_CODE (_q211))
																											      {
																											      case INTEGER_CST:
																											        {
																												  switch (TREE_CODE (_q31))
																												    {
																												    case INTEGER_CST:
																												      {
																													switch (TREE_CODE (_q21))
																													  {
																													  case INTEGER_CST:
																													    {
																													      switch (TREE_CODE (_p1))
																													        {
																														case INTEGER_CST:
																														  {
																														    {
/* #line 7810 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
																														      tree captures[12] ATTRIBUTE_UNUSED = { _q50, _q51, _q110, _q211, _q120, _q151, _q141, _q111, _q101, _q31, _q21, _p1 };
																														      if (gimple_simplify_225 (res_op, seq, valueize, type, captures))
																														        return true;
																														    }
																														    break;
																														  }
																													        default:;
																													        }
																													      break;
																													    }
																												          default:;
																												          }
																												        break;
																												      }
																												    default:;
																												    }
																											          break;
																											        }
																											      default:;
																											      }
																											  }
																										        break;
																										      }
																										    default:;
																										    }
																									      }
																									    break;
																								          default:;
																								          }
																								        break;
																								      }
																								    default:;
																								    }
																							          break;
																							        }
																							      default:;
																							      }
																							    break;
																							  }
																						        default:;
																						        }
																						      break;
																						    }
																					          default:;
																					          }
																					      }
																					    break;
																					  }
																					default:;
																					}
																			          }
																			        break;
																			      default:;
																			      }
																			    break;
																			  }
																			default:;
																			}
																	          }
																	        break;
																	      default:;
																	      }
																	    break;
																	  }
																	default:;
																	}
															          }
															        break;
															      default:;
															      }
															    break;
															  }
															default:;
															}
													          }
													        break;
													      default:;
													      }
													    break;
													  }
													default:;
													}
											          }
											        break;
											      default:;
											      }
											    break;
											  }
											default:;
											}
									          }
									        break;
									      default:;
									      }
									  }
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      case PLUS_EXPR:
							        {
								  tree _q50 = gimple_assign_rhs1 (_a4);
								  _q50 = do_valueize (valueize, _q50);
								  tree _q51 = gimple_assign_rhs2 (_a4);
								  _q51 = do_valueize (valueize, _q51);
								  if (tree_swap_operands_p (_q50, _q51))
								    std::swap (_q50, _q51);
								  switch (TREE_CODE (_q50))
								    {
								    case SSA_NAME:
								      if (gimple *_d5 = get_def (valueize, _q50))
								        {
									  if (gassign *_a5 = dyn_cast <gassign *> (_d5))
									    switch (gimple_assign_rhs_code (_a5))
									      {
									      case BIT_AND_EXPR:
									        {
										  tree _q60 = gimple_assign_rhs1 (_a5);
										  _q60 = do_valueize (valueize, _q60);
										  tree _q61 = gimple_assign_rhs2 (_a5);
										  _q61 = do_valueize (valueize, _q61);
										  if (tree_swap_operands_p (_q60, _q61))
										    std::swap (_q60, _q61);
										  switch (TREE_CODE (_q61))
										    {
										    case INTEGER_CST:
										      {
											switch (TREE_CODE (_q51))
											  {
											  case SSA_NAME:
											    if (gimple *_d6 = get_def (valueize, _q51))
											      {
												if (gassign *_a6 = dyn_cast <gassign *> (_d6))
												  switch (gimple_assign_rhs_code (_a6))
												    {
												    case BIT_AND_EXPR:
												      {
													tree _q90 = gimple_assign_rhs1 (_a6);
													_q90 = do_valueize (valueize, _q90);
													tree _q91 = gimple_assign_rhs2 (_a6);
													_q91 = do_valueize (valueize, _q91);
													if (tree_swap_operands_p (_q90, _q91))
													  std::swap (_q90, _q91);
													switch (TREE_CODE (_q90))
													  {
													  case SSA_NAME:
													    if (gimple *_d7 = get_def (valueize, _q90))
													      {
														if (gassign *_a7 = dyn_cast <gassign *> (_d7))
														  switch (gimple_assign_rhs_code (_a7))
														    {
														    case RSHIFT_EXPR:
														      {
															tree _q100 = gimple_assign_rhs1 (_a7);
															_q100 = do_valueize (valueize, _q100);
															tree _q101 = gimple_assign_rhs2 (_a7);
															_q101 = do_valueize (valueize, _q101);
															if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
															  {
															    switch (TREE_CODE (_q100))
															      {
															      case SSA_NAME:
															        if (gimple *_d8 = get_def (valueize, _q100))
															          {
																    if (gassign *_a8 = dyn_cast <gassign *> (_d8))
																      switch (gimple_assign_rhs_code (_a8))
																	{
																	case MINUS_EXPR:
																	  {
																	    tree _q120 = gimple_assign_rhs1 (_a8);
																	    _q120 = do_valueize (valueize, _q120);
																	    tree _q121 = gimple_assign_rhs2 (_a8);
																	    _q121 = do_valueize (valueize, _q121);
																	    switch (TREE_CODE (_q121))
																	      {
																	      case SSA_NAME:
																	        if (gimple *_d9 = get_def (valueize, _q121))
																	          {
																		    if (gassign *_a9 = dyn_cast <gassign *> (_d9))
																		      switch (gimple_assign_rhs_code (_a9))
																			{
																			case BIT_AND_EXPR:
																			  {
																			    tree _q140 = gimple_assign_rhs1 (_a9);
																			    _q140 = do_valueize (valueize, _q140);
																			    tree _q141 = gimple_assign_rhs2 (_a9);
																			    _q141 = do_valueize (valueize, _q141);
																			    if (tree_swap_operands_p (_q140, _q141))
																			      std::swap (_q140, _q141);
																			    switch (TREE_CODE (_q140))
																			      {
																			      case SSA_NAME:
																			        if (gimple *_d10 = get_def (valueize, _q140))
																			          {
																				    if (gassign *_a10 = dyn_cast <gassign *> (_d10))
																				      switch (gimple_assign_rhs_code (_a10))
																					{
																					case RSHIFT_EXPR:
																					  {
																					    tree _q150 = gimple_assign_rhs1 (_a10);
																					    _q150 = do_valueize (valueize, _q150);
																					    tree _q151 = gimple_assign_rhs2 (_a10);
																					    _q151 = do_valueize (valueize, _q151);
																					    if ((_q150 == _q120 && ! TREE_SIDE_EFFECTS (_q150)) || (operand_equal_p (_q150, _q120, 0) && types_match (_q150, _q120)))
																					      {
																						switch (TREE_CODE (_q151))
																						  {
																						  case INTEGER_CST:
																						    {
																						      switch (TREE_CODE (_q141))
																						        {
																							case INTEGER_CST:
																							  {
																							    switch (TREE_CODE (_q101))
																							      {
																							      case INTEGER_CST:
																							        {
																								  switch (TREE_CODE (_q91))
																								    {
																								    case INTEGER_CST:
																								      {
																									switch (TREE_CODE (_q41))
																									  {
																									  case SSA_NAME:
																									    if (gimple *_d11 = get_def (valueize, _q41))
																									      {
																										if (gassign *_a11 = dyn_cast <gassign *> (_d11))
																										  switch (gimple_assign_rhs_code (_a11))
																										    {
																										    case RSHIFT_EXPR:
																										      {
																											tree _q210 = gimple_assign_rhs1 (_a11);
																											_q210 = do_valueize (valueize, _q210);
																											tree _q211 = gimple_assign_rhs2 (_a11);
																											_q211 = do_valueize (valueize, _q211);
																											if ((_q210 == _q40 && ! TREE_SIDE_EFFECTS (_q210)) || (operand_equal_p (_q210, _q40, 0) && types_match (_q210, _q40)))
																											  {
																											    switch (TREE_CODE (_q211))
																											      {
																											      case INTEGER_CST:
																											        {
																												  switch (TREE_CODE (_q31))
																												    {
																												    case INTEGER_CST:
																												      {
																													switch (TREE_CODE (_q21))
																													  {
																													  case INTEGER_CST:
																													    {
																													      switch (TREE_CODE (_p1))
																													        {
																														case INTEGER_CST:
																														  {
																														    {
/* #line 7810 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
																														      tree captures[12] ATTRIBUTE_UNUSED = { _q40, _q211, _q60, _q61, _q120, _q151, _q141, _q101, _q91, _q31, _q21, _p1 };
																														      if (gimple_simplify_225 (res_op, seq, valueize, type, captures))
																														        return true;
																														    }
																														    break;
																														  }
																													        default:;
																													        }
																													      break;
																													    }
																												          default:;
																												          }
																												        break;
																												      }
																												    default:;
																												    }
																											          break;
																											        }
																											      default:;
																											      }
																											  }
																										        break;
																										      }
																										    default:;
																										    }
																									      }
																									    break;
																								          default:;
																								          }
																								        break;
																								      }
																								    default:;
																								    }
																							          break;
																							        }
																							      default:;
																							      }
																							    break;
																							  }
																						        default:;
																						        }
																						      break;
																						    }
																					          default:;
																					          }
																					      }
																					    break;
																					  }
																					default:;
																					}
																			          }
																			        break;
																			      default:;
																			      }
																			    break;
																			  }
																			default:;
																			}
																	          }
																	        break;
																	      default:;
																	      }
																	    break;
																	  }
																	default:;
																	}
															          }
															        break;
															      default:;
															      }
															  }
														        break;
														      }
														    default:;
														    }
													      }
													    break;
												          default:;
												          }
												        break;
												      }
												    default:;
												    }
											      }
											    break;
										          default:;
										          }
										        break;
										      }
										    default:;
										    }
										  switch (TREE_CODE (_q60))
										    {
										    case SSA_NAME:
										      if (gimple *_d6 = get_def (valueize, _q60))
										        {
											  if (gassign *_a6 = dyn_cast <gassign *> (_d6))
											    switch (gimple_assign_rhs_code (_a6))
											      {
											      case RSHIFT_EXPR:
											        {
												  tree _q70 = gimple_assign_rhs1 (_a6);
												  _q70 = do_valueize (valueize, _q70);
												  tree _q71 = gimple_assign_rhs2 (_a6);
												  _q71 = do_valueize (valueize, _q71);
												  switch (TREE_CODE (_q70))
												    {
												    case SSA_NAME:
												      if (gimple *_d7 = get_def (valueize, _q70))
												        {
													  if (gassign *_a7 = dyn_cast <gassign *> (_d7))
													    switch (gimple_assign_rhs_code (_a7))
													      {
													      case MINUS_EXPR:
													        {
														  tree _q80 = gimple_assign_rhs1 (_a7);
														  _q80 = do_valueize (valueize, _q80);
														  tree _q81 = gimple_assign_rhs2 (_a7);
														  _q81 = do_valueize (valueize, _q81);
														  switch (TREE_CODE (_q81))
														    {
														    case SSA_NAME:
														      if (gimple *_d8 = get_def (valueize, _q81))
														        {
															  if (gassign *_a8 = dyn_cast <gassign *> (_d8))
															    switch (gimple_assign_rhs_code (_a8))
															      {
															      case BIT_AND_EXPR:
															        {
																  tree _q100 = gimple_assign_rhs1 (_a8);
																  _q100 = do_valueize (valueize, _q100);
																  tree _q101 = gimple_assign_rhs2 (_a8);
																  _q101 = do_valueize (valueize, _q101);
																  if (tree_swap_operands_p (_q100, _q101))
																    std::swap (_q100, _q101);
																  switch (TREE_CODE (_q100))
																    {
																    case SSA_NAME:
																      if (gimple *_d9 = get_def (valueize, _q100))
																        {
																	  if (gassign *_a9 = dyn_cast <gassign *> (_d9))
																	    switch (gimple_assign_rhs_code (_a9))
																	      {
																	      case RSHIFT_EXPR:
																	        {
																		  tree _q110 = gimple_assign_rhs1 (_a9);
																		  _q110 = do_valueize (valueize, _q110);
																		  tree _q111 = gimple_assign_rhs2 (_a9);
																		  _q111 = do_valueize (valueize, _q111);
																		  if ((_q110 == _q80 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q80, 0) && types_match (_q110, _q80)))
																		    {
																		      switch (TREE_CODE (_q111))
																		        {
																			case INTEGER_CST:
																			  {
																			    switch (TREE_CODE (_q101))
																			      {
																			      case INTEGER_CST:
																			        {
																				  switch (TREE_CODE (_q71))
																				    {
																				    case INTEGER_CST:
																				      {
																					switch (TREE_CODE (_q61))
																					  {
																					  case INTEGER_CST:
																					    {
																					      switch (TREE_CODE (_q51))
																					        {
																						case SSA_NAME:
																						  if (gimple *_d10 = get_def (valueize, _q51))
																						    {
																						      if (gassign *_a10 = dyn_cast <gassign *> (_d10))
																						        switch (gimple_assign_rhs_code (_a10))
																							  {
																							  case BIT_AND_EXPR:
																							    {
																							      tree _q170 = gimple_assign_rhs1 (_a10);
																							      _q170 = do_valueize (valueize, _q170);
																							      tree _q171 = gimple_assign_rhs2 (_a10);
																							      _q171 = do_valueize (valueize, _q171);
																							      if (tree_swap_operands_p (_q170, _q171))
																							        std::swap (_q170, _q171);
																							      if ((_q170 == _q70 && ! TREE_SIDE_EFFECTS (_q170)) || (operand_equal_p (_q170, _q70, 0) && types_match (_q170, _q70)))
																								{
																								  switch (TREE_CODE (_q171))
																								    {
																								    case INTEGER_CST:
																								      {
																									switch (TREE_CODE (_q41))
																									  {
																									  case SSA_NAME:
																									    if (gimple *_d11 = get_def (valueize, _q41))
																									      {
																										if (gassign *_a11 = dyn_cast <gassign *> (_d11))
																										  switch (gimple_assign_rhs_code (_a11))
																										    {
																										    case RSHIFT_EXPR:
																										      {
																											tree _q200 = gimple_assign_rhs1 (_a11);
																											_q200 = do_valueize (valueize, _q200);
																											tree _q201 = gimple_assign_rhs2 (_a11);
																											_q201 = do_valueize (valueize, _q201);
																											if ((_q200 == _q40 && ! TREE_SIDE_EFFECTS (_q200)) || (operand_equal_p (_q200, _q40, 0) && types_match (_q200, _q40)))
																											  {
																											    switch (TREE_CODE (_q201))
																											      {
																											      case INTEGER_CST:
																											        {
																												  switch (TREE_CODE (_q31))
																												    {
																												    case INTEGER_CST:
																												      {
																													switch (TREE_CODE (_q21))
																													  {
																													  case INTEGER_CST:
																													    {
																													      switch (TREE_CODE (_p1))
																													        {
																														case INTEGER_CST:
																														  {
																														    {
/* #line 7810 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
																														      tree captures[12] ATTRIBUTE_UNUSED = { _q40, _q201, _q70, _q171, _q80, _q111, _q101, _q71, _q61, _q31, _q21, _p1 };
																														      if (gimple_simplify_225 (res_op, seq, valueize, type, captures))
																														        return true;
																														    }
																														    break;
																														  }
																													        default:;
																													        }
																													      break;
																													    }
																												          default:;
																												          }
																												        break;
																												      }
																												    default:;
																												    }
																											          break;
																											        }
																											      default:;
																											      }
																											  }
																										        break;
																										      }
																										    default:;
																										    }
																									      }
																									    break;
																								          default:;
																								          }
																								        break;
																								      }
																								    default:;
																								    }
																							        }
																							      break;
																							    }
																							  default:;
																							  }
																						    }
																						  break;
																					        default:;
																					        }
																					      break;
																					    }
																				          default:;
																				          }
																				        break;
																				      }
																				    default:;
																				    }
																			          break;
																			        }
																			      default:;
																			      }
																			    break;
																			  }
																		        default:;
																		        }
																		    }
																	          break;
																	        }
																	      default:;
																	      }
																        }
																      break;
																    default:;
																    }
															          break;
															        }
															      default:;
															      }
														        }
														      break;
														    default:;
														    }
													          break;
													        }
													      default:;
													      }
												        }
												      break;
												    default:;
												    }
											          break;
											        }
											      default:;
											      }
										        }
										      break;
										    default:;
										    }
									          break;
									        }
									      default:;
									      }
								        }
								      break;
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case VEC_PERM_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case VEC_PERM_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      tree _q61 = gimple_assign_rhs2 (_a2);
				      _q61 = do_valueize (valueize, _q61);
				      tree _q62 = gimple_assign_rhs3 (_a2);
				      _q62 = do_valueize (valueize, _q62);
				      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 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (VECTOR_INTEGER_TYPE_P (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1654;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8488, __FILE__, __LINE__);
						    {
						      res_op->set_op (VEC_PERM_EXPR, type, 3);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[2];
							gimple_match_op tem_op (res_op->cond.any_else (), RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1654;
							captures[3] = _r1;
						      }
						      res_op->ops[0] = captures[3];
						      res_op->ops[1] = captures[3];
						      res_op->ops[2] = captures[1];
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1654:;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POWF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case REAL_CST:
		      {
			{
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_BUILT_IN_POWF;
			  {
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 894 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1655;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 895, __FILE__, __LINE__);
				  {
				    res_op->set_op (pows, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] = captures[1];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1655:;
				}
			  }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case REAL_CST:
		      {
			{
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_BUILT_IN_POWF;
			  {
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 894 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1656;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 895, __FILE__, __LINE__);
				  {
				    res_op->set_op (pows, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] = captures[1];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1656:;
				}
			  }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case REAL_CST:
		        {
			  {
/* #line 938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_8 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWF, CFN_BUILT_IN_COPYSIGNF))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXPF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1657;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXPF, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1657;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1657:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1658;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP2F, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1658;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1658:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1659;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP10F, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1659;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1659:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10F:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1660;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW10F, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1660;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1660:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1661;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6910, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POWF, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[1];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1661;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1661:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTF:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1662;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6914, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWF, type, 2);
				res_op->ops[0] = captures[0];
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[1];
				  _o1[1] =  build_real_truncate (type, dconst_third ());
				  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1662;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1662:;
			    }
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1663;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6918, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWF, type, 2);
				res_op->ops[0] = captures[0];
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[1];
				  _o1[1] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1663;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1663:;
			    }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_207 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWF, CFN_BUILT_IN_EXPF, CFN_BUILT_IN_LOGF, CFN_BUILT_IN_EXP2F, CFN_BUILT_IN_LOG2F))
	    return true;
	}
        break;
      }
    default:;
    }
if (real_onep (_p0))
  {
    {
/* #line 6768 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_58 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWF))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 7148 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  {
/* #line 7148 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 const REAL_VALUE_TYPE *value = TREE_REAL_CST_PTR (captures[1]);
 REAL_VALUE_TYPE tmp;
/* #line 7154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (real_equal (value, &dconst0)
)
		{
		  gimple_seq *lseq = seq;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1664;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7155, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  build_real (type, dconst1);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1664:;
		}
	      else
		{
/* #line 7157 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (real_equal (value, &dconst1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1665;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7158, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[0];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1665:;
		    }
		  else
		    {
/* #line 7160 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (real_equal (value, &dconstm1)
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1666;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7161, __FILE__, __LINE__);
			  {
			    res_op->set_op (RDIV_EXPR, type, 2);
			    res_op->ops[0] =  build_real (type, dconst1);
			    res_op->ops[1] = captures[0];
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1666:;
			}
		      else
			{
/* #line 7163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations
 && canonicalize_math_p ()
 && real_equal (value, &dconsthalf)
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1667;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7166, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_SQRTF, type, 1);
				res_op->ops[0] = captures[0];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1667:;
			    }
			  else
			    {
/* #line 7168 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (flag_unsafe_math_optimizations
 && canonicalize_math_p ()
 && (tmp = real_value_truncate (TYPE_MODE (type), dconst_third ()),
 real_equal (value, &tmp))
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1668;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7172, __FILE__, __LINE__);
				  {
				    res_op->set_op (CFN_BUILT_IN_CBRTF, type, 1);
				    res_op->ops[0] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1668:;
				}
			    }
			}
		    }
		}
	  }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POW (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case REAL_CST:
		      {
			{
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_BUILT_IN_POW;
			  {
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 894 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1669;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 895, __FILE__, __LINE__);
				  {
				    res_op->set_op (pows, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] = captures[1];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1669:;
				}
			  }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case REAL_CST:
		      {
			{
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_BUILT_IN_POW;
			  {
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 894 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1670;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 895, __FILE__, __LINE__);
				  {
				    res_op->set_op (pows, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] = captures[1];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1670:;
				}
			  }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case REAL_CST:
		        {
			  {
/* #line 938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_8 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POW, CFN_BUILT_IN_COPYSIGN))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1671;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1671;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1671:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1672;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP2, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1672;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1672:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1673;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP10, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1673;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1673:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1674;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW10, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1674;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1674:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1675;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6910, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[1];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1675;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1675:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1676;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6914, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POW, type, 2);
				res_op->ops[0] = captures[0];
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[1];
				  _o1[1] =  build_real_truncate (type, dconst_third ());
				  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1676;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1676:;
			    }
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1677;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6918, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POW, type, 2);
				res_op->ops[0] = captures[0];
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[1];
				  _o1[1] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1677;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1677:;
			    }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_207 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POW, CFN_BUILT_IN_EXP, CFN_BUILT_IN_LOG, CFN_BUILT_IN_EXP2, CFN_BUILT_IN_LOG2))
	    return true;
	}
        break;
      }
    default:;
    }
if (real_onep (_p0))
  {
    {
/* #line 6768 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_58 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POW))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 7148 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  {
/* #line 7148 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 const REAL_VALUE_TYPE *value = TREE_REAL_CST_PTR (captures[1]);
 REAL_VALUE_TYPE tmp;
/* #line 7154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (real_equal (value, &dconst0)
)
		{
		  gimple_seq *lseq = seq;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1678;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7155, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  build_real (type, dconst1);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1678:;
		}
	      else
		{
/* #line 7157 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (real_equal (value, &dconst1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1679;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7158, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[0];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1679:;
		    }
		  else
		    {
/* #line 7160 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (real_equal (value, &dconstm1)
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1680;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7161, __FILE__, __LINE__);
			  {
			    res_op->set_op (RDIV_EXPR, type, 2);
			    res_op->ops[0] =  build_real (type, dconst1);
			    res_op->ops[1] = captures[0];
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1680:;
			}
		      else
			{
/* #line 7163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations
 && canonicalize_math_p ()
 && real_equal (value, &dconsthalf)
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1681;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7166, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_SQRT, type, 1);
				res_op->ops[0] = captures[0];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1681:;
			    }
			  else
			    {
/* #line 7168 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (flag_unsafe_math_optimizations
 && canonicalize_math_p ()
 && (tmp = real_value_truncate (TYPE_MODE (type), dconst_third ()),
 real_equal (value, &tmp))
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1682;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7172, __FILE__, __LINE__);
				  {
				    res_op->set_op (CFN_BUILT_IN_CBRT, type, 1);
				    res_op->ops[0] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1682:;
				}
			    }
			}
		    }
		}
	  }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POWL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case REAL_CST:
		      {
			{
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_BUILT_IN_POWL;
			  {
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 894 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1683;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 895, __FILE__, __LINE__);
				  {
				    res_op->set_op (pows, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] = captures[1];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1683:;
				}
			  }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case REAL_CST:
		      {
			{
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_BUILT_IN_POWL;
			  {
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 894 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1684;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 895, __FILE__, __LINE__);
				  {
				    res_op->set_op (pows, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] = captures[1];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1684:;
				}
			  }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case REAL_CST:
		        {
			  {
/* #line 938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_8 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWL, CFN_BUILT_IN_COPYSIGNL))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_EXPL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1685;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXPL, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1685;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1685:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP2L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1686;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP2L, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1686;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1686:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_EXP10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1687;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_EXP10L, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1687;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1687:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_POW10L:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1688;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POW10L, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1688;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1688:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_SQRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1689;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6910, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_BUILT_IN_POWL, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[1];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1689;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1689:;
			}
		    }
	          }
	        break;
	      case CFN_BUILT_IN_CBRTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1690;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6914, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWL, type, 2);
				res_op->ops[0] = captures[0];
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[1];
				  _o1[1] =  build_real_truncate (type, dconst_third ());
				  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1690;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1690:;
			    }
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POWL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1691;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6918, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWL, type, 2);
				res_op->ops[0] = captures[0];
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[1];
				  _o1[1] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1691;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1691:;
			    }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_207 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWL, CFN_BUILT_IN_EXPL, CFN_BUILT_IN_LOGL, CFN_BUILT_IN_EXP2L, CFN_BUILT_IN_LOG2L))
	    return true;
	}
        break;
      }
    default:;
    }
if (real_onep (_p0))
  {
    {
/* #line 6768 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_58 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POWL))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 7148 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  {
/* #line 7148 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 const REAL_VALUE_TYPE *value = TREE_REAL_CST_PTR (captures[1]);
 REAL_VALUE_TYPE tmp;
/* #line 7154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (real_equal (value, &dconst0)
)
		{
		  gimple_seq *lseq = seq;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1692;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7155, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem =  build_real (type, dconst1);
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1692:;
		}
	      else
		{
/* #line 7157 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (real_equal (value, &dconst1)
)
		    {
		      gimple_seq *lseq = seq;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1693;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7158, __FILE__, __LINE__);
		      {
			tree tem;
			tem = captures[0];
			res_op->set_value (tem);
			return true;
		      }
next_after_fail1693:;
		    }
		  else
		    {
/* #line 7160 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (real_equal (value, &dconstm1)
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1694;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7161, __FILE__, __LINE__);
			  {
			    res_op->set_op (RDIV_EXPR, type, 2);
			    res_op->ops[0] =  build_real (type, dconst1);
			    res_op->ops[1] = captures[0];
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1694:;
			}
		      else
			{
/* #line 7163 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations
 && canonicalize_math_p ()
 && real_equal (value, &dconsthalf)
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1695;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7166, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_SQRTL, type, 1);
				res_op->ops[0] = captures[0];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1695:;
			    }
			  else
			    {
/* #line 7168 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (flag_unsafe_math_optimizations
 && canonicalize_math_p ()
 && (tmp = real_value_truncate (TYPE_MODE (type), dconst_third ()),
 real_equal (value, &tmp))
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1696;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7172, __FILE__, __LINE__);
				  {
				    res_op->set_op (CFN_BUILT_IN_CBRTL, type, 1);
				    res_op->ops[0] = captures[0];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1696:;
				}
			    }
			}
		    }
		}
	  }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_POW (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case REAL_CST:
		      {
			{
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_POW;
			  {
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 894 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1697;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 895, __FILE__, __LINE__);
				  {
				    res_op->set_op (pows, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] = captures[1];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1697:;
				}
			  }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case REAL_CST:
		      {
			{
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  const combined_fn pows = CFN_POW;
			  {
/* #line 893 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 HOST_WIDE_INT n;
/* #line 894 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (real_isinteger (&TREE_REAL_CST (captures[1]), &n) && (n & 1) == 0
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1698;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 895, __FILE__, __LINE__);
				  {
				    res_op->set_op (pows, type, 2);
				    res_op->ops[0] = captures[0];
				    res_op->ops[1] = captures[1];
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1698:;
				}
			  }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case REAL_CST:
		        {
			  {
/* #line 938 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_8 (res_op, seq, valueize, type, captures, CFN_POW, CFN_COPYSIGN))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_EXP:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1699;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_EXP, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1699;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1699:;
			}
		    }
	          }
	        break;
	      case CFN_EXP2:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1700;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_EXP2, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1700;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1700:;
			}
		    }
	          }
	        break;
	      case CFN_EXP10:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1701;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6677, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_EXP10, type, 1);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[1];
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1701;
			      res_op->ops[0] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1701:;
			}
		    }
	          }
	        break;
	      case CFN_SQRT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1702;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6910, __FILE__, __LINE__);
			  {
			    res_op->set_op (CFN_POW, type, 2);
			    res_op->ops[0] = captures[0];
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[1];
			      _o1[1] =  build_real (type, dconsthalf);
			      gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1702;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1702:;
			}
		    }
	          }
	        break;
	      case CFN_POW:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    if (tree_expr_nonnegative_p (_q20))
		      {
			{
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (flag_unsafe_math_optimizations && canonicalize_math_p ()
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1703;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6918, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_POW, type, 2);
				res_op->ops[0] = captures[0];
				{
				  tree _o1[2], _r1;
				  _o1[0] = captures[1];
				  _o1[1] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1703;
				  res_op->ops[1] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1703:;
			    }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    case REAL_CST:
      {
	{
/* #line 6482 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_207 (res_op, seq, valueize, type, captures, CFN_POW, CFN_EXP, CFN_LOG, CFN_EXP2, CFN_LOG2))
	    return true;
	}
        break;
      }
    default:;
    }
if (real_onep (_p0))
  {
    {
/* #line 6768 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_58 (res_op, seq, valueize, type, captures, CFN_POW))
        return true;
    }
  }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POWIF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if ((wi::to_wide (captures[1]) & 1) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1704;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 901, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWIF, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] = captures[1];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1704:;
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if ((wi::to_wide (captures[1]) & 1) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1705;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 901, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWIF, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] = captures[1];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1705:;
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 946 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 946 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    if ((wi::to_wide (captures[2]) & 1) == 0
)
			      {
				gimple_seq *lseq = seq;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1706;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 947, __FILE__, __LINE__);
				{
				  res_op->set_op (CFN_BUILT_IN_POWIF, type, 2);
				  res_op->ops[0] = captures[0];
				  res_op->ops[1] = captures[2];
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1706:;
			      }
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (_p0))
  {
    {
/* #line 7177 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_368 (res_op, seq, valueize, type, captures))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case INTEGER_CST:
      {
	{
/* #line 7183 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 7183 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (wi::to_wide (captures[1]) == 0
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1707;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7184, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_real (type, dconst1);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1707:;
	    }
	  else
	    {
/* #line 7186 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (wi::to_wide (captures[1]) == 1
)
		{
		  gimple_seq *lseq = seq;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1708;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7187, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1708:;
		}
	      else
		{
/* #line 7189 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (wi::to_wide (captures[1]) == -1
)
		    {
		      gimple_seq *lseq = seq;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1709;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7190, __FILE__, __LINE__);
		      {
			res_op->set_op (RDIV_EXPR, type, 2);
			res_op->ops[0] =  build_real (type, dconst1);
			res_op->ops[1] = captures[0];
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1709:;
		    }
		}
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POWI (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if ((wi::to_wide (captures[1]) & 1) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1710;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 901, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWI, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] = captures[1];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1710:;
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if ((wi::to_wide (captures[1]) & 1) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1711;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 901, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWI, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] = captures[1];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1711:;
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 946 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 946 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    if ((wi::to_wide (captures[2]) & 1) == 0
)
			      {
				gimple_seq *lseq = seq;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1712;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 947, __FILE__, __LINE__);
				{
				  res_op->set_op (CFN_BUILT_IN_POWI, type, 2);
				  res_op->ops[0] = captures[0];
				  res_op->ops[1] = captures[2];
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1712:;
			      }
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (_p0))
  {
    {
/* #line 7177 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_368 (res_op, seq, valueize, type, captures))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case INTEGER_CST:
      {
	{
/* #line 7183 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 7183 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (wi::to_wide (captures[1]) == 0
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1713;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7184, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_real (type, dconst1);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1713:;
	    }
	  else
	    {
/* #line 7186 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (wi::to_wide (captures[1]) == 1
)
		{
		  gimple_seq *lseq = seq;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1714;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7187, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1714:;
		}
	      else
		{
/* #line 7189 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (wi::to_wide (captures[1]) == -1
)
		    {
		      gimple_seq *lseq = seq;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1715;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7190, __FILE__, __LINE__);
		      {
			res_op->set_op (RDIV_EXPR, type, 2);
			res_op->ops[0] =  build_real (type, dconst1);
			res_op->ops[1] = captures[0];
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1715:;
		    }
		}
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_POWIL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if ((wi::to_wide (captures[1]) & 1) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1716;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 901, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWIL, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] = captures[1];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1716:;
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 900 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if ((wi::to_wide (captures[1]) & 1) == 0
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1717;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 901, __FILE__, __LINE__);
			      {
				res_op->set_op (CFN_BUILT_IN_POWIL, type, 2);
				res_op->ops[0] = captures[0];
				res_op->ops[1] = captures[1];
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1717:;
			    }
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 946 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
/* #line 946 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    if ((wi::to_wide (captures[2]) & 1) == 0
)
			      {
				gimple_seq *lseq = seq;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1718;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 947, __FILE__, __LINE__);
				{
				  res_op->set_op (CFN_BUILT_IN_POWIL, type, 2);
				  res_op->ops[0] = captures[0];
				  res_op->ops[1] = captures[2];
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1718:;
			      }
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_onep (_p0))
  {
    {
/* #line 7177 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_368 (res_op, seq, valueize, type, captures))
        return true;
    }
  }
  switch (TREE_CODE (_p1))
    {
    case INTEGER_CST:
      {
	{
/* #line 7183 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 7183 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (wi::to_wide (captures[1]) == 0
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1719;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7184, __FILE__, __LINE__);
	      {
		tree tem;
		tem =  build_real (type, dconst1);
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1719:;
	    }
	  else
	    {
/* #line 7186 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (wi::to_wide (captures[1]) == 1
)
		{
		  gimple_seq *lseq = seq;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1720;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7187, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[0];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1720:;
		}
	      else
		{
/* #line 7189 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (wi::to_wide (captures[1]) == -1
)
		    {
		      gimple_seq *lseq = seq;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1721;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7190, __FILE__, __LINE__);
		      {
			res_op->set_op (RDIV_EXPR, type, 2);
			res_op->ops[0] =  build_real (type, dconst1);
			res_op->ops[1] = captures[0];
			res_op->resimplify (lseq, valueize);
			return true;
		      }
next_after_fail1721:;
		    }
		}
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_HYPOTF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 906 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTF;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1722;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 906, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1722:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 906 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTF;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1723;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 906, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1723:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 909 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTF;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1724;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 909, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1724:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 909 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTF;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1725;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 909, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1725:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 954 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_481 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOTF, CFN_BUILT_IN_COPYSIGNF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNF:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    {
/* #line 958 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		      if (gimple_simplify_312 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOTF, CFN_BUILT_IN_COPYSIGNF))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_zerop (_p1))
  {
    {
/* #line 6763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOTF))
        return true;
    }
  }
  if (real_zerop (_p0))
    {
      {
/* #line 6763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOTF))
	  return true;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_23 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOTF))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_HYPOT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 906 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1726;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 906, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1726:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 906 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1727;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 906, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1727:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 909 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1728;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 909, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1728:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 909 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1729;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 909, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1729:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 954 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_481 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOT, CFN_BUILT_IN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    {
/* #line 958 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		      if (gimple_simplify_312 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOT, CFN_BUILT_IN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_zerop (_p1))
  {
    {
/* #line 6763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOT))
        return true;
    }
  }
  if (real_zerop (_p0))
    {
      {
/* #line 6763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOT))
	  return true;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_23 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOT))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_HYPOTL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 906 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTL;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1730;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 906, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1730:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 906 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTL;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1731;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 906, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1731:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 909 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTL;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1732;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 909, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1732:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 909 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_BUILT_IN_HYPOTL;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1733;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 909, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1733:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 954 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_481 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOTL, CFN_BUILT_IN_COPYSIGNL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_COPYSIGNL:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    {
/* #line 958 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		      if (gimple_simplify_312 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOTL, CFN_BUILT_IN_COPYSIGNL))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_zerop (_p1))
  {
    {
/* #line 6763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOTL))
        return true;
    }
  }
  if (real_zerop (_p0))
    {
      {
/* #line 6763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOTL))
	  return true;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_23 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_HYPOTL))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_CFN_HYPOT (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 906 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1734;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 906, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1734:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 906 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		    const combined_fn hypots = CFN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1735;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 906, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1735:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 909 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1736;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 909, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1736:;
		  }
	          break;
	        }
	      case ABS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 909 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
		    const combined_fn hypots = CFN_HYPOT;
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1737;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 909, __FILE__, __LINE__);
		    {
		      res_op->set_op (hypots, type, 2);
		      res_op->ops[0] = captures[0];
		      res_op->ops[1] = captures[1];
		      res_op->resimplify (lseq, valueize);
		      return true;
		    }
next_after_fail1737:;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    tree _q21 = gimple_call_arg (_c1, 1);
		    _q21 = do_valueize (valueize, _q21);
		    {
/* #line 954 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
		      if (gimple_simplify_481 (res_op, seq, valueize, type, captures, CFN_HYPOT, CFN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    {
/* #line 958 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q31 };
		      if (gimple_simplify_312 (res_op, seq, valueize, type, captures, CFN_HYPOT, CFN_COPYSIGN))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
if (real_zerop (_p1))
  {
    {
/* #line 6763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
      tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
      if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_HYPOT))
        return true;
    }
  }
  if (real_zerop (_p0))
    {
      {
/* #line 6763 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	if (gimple_simplify_119 (res_op, seq, valueize, type, captures, CFN_HYPOT))
	  return true;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 6808 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_23 (res_op, seq, valueize, type, captures, CFN_HYPOT))
	  return true;
      }
    }
  return false;
}

static bool
gimple_simplify_BIT_AND_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 1027 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_323 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case RSHIFT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 1031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_460 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
						    {
						      {
/* #line 1103 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
							if (gimple_simplify_205 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  if ((_q50 == _q30 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q30, 0) && types_match (_q50, _q30)))
						    {
						      {
/* #line 1103 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
							if (gimple_simplify_205 (res_op, seq, valueize, type, captures))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 1103 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_205 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 1103 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_205 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (integer_onep (_q40))
				    {
				      if (integer_minus_onep (_q31))
					{
					  {
/* #line 1108 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q41 };
/* #line 1108 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (TYPE_UNSIGNED (type)
)
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[1])
						        || !single_use (captures[2])))
						  lseq = NULL;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1738;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1109, __FILE__, __LINE__);
						{
						  res_op->set_op (BIT_AND_EXPR, type, 2);
						  res_op->ops[0] = captures[0];
						  {
						    tree _o1[1], _r1;
						    {
						      tree _o2[2], _r2;
						      _o2[0] =  build_all_ones_cst (type);
						      _o2[1] = captures[3];
						      gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1738;
						      _o1[0] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1738;
						    res_op->ops[1] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1738:;
					      }
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (integer_onep (_q30))
				    {
				      if (integer_minus_onep (_q21))
					{
					  {
/* #line 1108 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q31 };
/* #line 1108 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (TYPE_UNSIGNED (type)
)
					      {
						gimple_seq *lseq = seq;
						if (lseq
						    && (!single_use (captures[1])
						        || !single_use (captures[2])))
						  lseq = NULL;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1739;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1109, __FILE__, __LINE__);
						{
						  res_op->set_op (BIT_AND_EXPR, type, 2);
						  res_op->ops[0] = captures[0];
						  {
						    tree _o1[1], _r1;
						    {
						      tree _o2[2], _r2;
						      _o2[0] =  build_all_ones_cst (type);
						      _o2[1] = captures[3];
						      gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1739;
						      _o1[0] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1739;
						    res_op->ops[1] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1739:;
					      }
					  }
				        }
				    }
			          break;
			        }
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1245 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						if (gimple_simplify_423 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, PLUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1245 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						if (gimple_simplify_423 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, PLUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1245 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						if (gimple_simplify_423 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, PLUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1256 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
						if (gimple_simplify_520 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, PLUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1256 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
						if (gimple_simplify_520 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, PLUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1256 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
						if (gimple_simplify_520 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, PLUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 1267 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			  if (gimple_simplify_299 (res_op, seq, valueize, type, captures, PLUS_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case EQ_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      if (integer_zerop (_q51))
					{
					  {
/* #line 1118 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_174 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
		  if (integer_all_onesp (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case EQ_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      if (integer_all_onesp (_q51))
					{
					  {
/* #line 1127 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
					    if (gimple_simplify_473 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_XOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_432 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_432 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
							    if (gimple_simplify_432 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
							    if (gimple_simplify_432 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
				    {
				      {
/* #line 1417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
					if (gimple_simplify_17 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
				    {
				      {
/* #line 1417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
					if (gimple_simplify_17 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
			{
			  switch (TREE_CODE (_p1))
			    {
			    case INTEGER_CST:
			      {
				{
/* #line 1230 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 1230 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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
)
				    {
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1740;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1232, __FILE__, __LINE__);
				      {
					res_op->set_op (BIT_XOR_EXPR, type, 2);
					res_op->ops[0] = captures[0];
					res_op->ops[1] = captures[1];
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail1740:;
				    }
				}
			        break;
			      }
			    default:;
			    }
			}
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_XOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q61 };
							    if (gimple_simplify_446 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q60 };
							    if (gimple_simplify_446 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q61 };
							    if (gimple_simplify_446 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q60 };
							    if (gimple_simplify_446 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_XOR_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      if (tree_swap_operands_p (_q70, _q71))
						        std::swap (_q70, _q71);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 1210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q71 };
							    if (gimple_simplify_446 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
							{
							  {
/* #line 1210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q70 };
							    if (gimple_simplify_446 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_XOR_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      tree _q71 = gimple_assign_rhs2 (_a3);
						      _q71 = do_valueize (valueize, _q71);
						      if (tree_swap_operands_p (_q70, _q71))
						        std::swap (_q70, _q71);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 1210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q71 };
							    if (gimple_simplify_446 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
							{
							  {
/* #line 1210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q70 };
							    if (gimple_simplify_446 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_XOR_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
							    if (gimple_simplify_353 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
							{
							  {
/* #line 1210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
							    if (gimple_simplify_353 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _p0, _q20, _q31 };
							    if (gimple_simplify_353 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _p0, _q20, _q30 };
							    if (gimple_simplify_353 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_XOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_XOR_EXPR:
					        {
						  tree _q70 = gimple_assign_rhs1 (_a3);
						  _q70 = do_valueize (valueize, _q70);
						  tree _q71 = gimple_assign_rhs2 (_a3);
						  _q71 = do_valueize (valueize, _q71);
						  if (tree_swap_operands_p (_q70, _q71))
						    std::swap (_q70, _q71);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
							    if (gimple_simplify_353 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
							{
							  {
/* #line 1210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
							    if (gimple_simplify_353 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _p0, _q21, _q41 };
							    if (gimple_simplify_353 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _p0, _q21, _q40 };
							    if (gimple_simplify_353 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1245 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						if (gimple_simplify_423 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, MINUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1245 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						if (gimple_simplify_423 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, MINUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1245 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1 };
						if (gimple_simplify_423 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, MINUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1256 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
						if (gimple_simplify_520 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, MINUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1256 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
						if (gimple_simplify_520 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, MINUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1256 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q40, _q41, _p1 };
						if (gimple_simplify_520 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, MINUS_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 1267 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
			  if (gimple_simplify_299 (res_op, seq, valueize, type, captures, MINUS_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1279 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_234 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1279 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_234 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 1279 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1 };
						if (gimple_simplify_234 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (gimple_zero_one_valued_p (_q20, valueize))
		  {
		    {
/* #line 2019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_470 (res_op, seq, valueize, type, captures))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 1313 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	gimple_seq *lseq = seq;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1741;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1313, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[1];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1741:;
      }
    }
  if (integer_all_onesp (_p1))
    {
      {
/* #line 1335 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	gimple_seq *lseq = seq;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1742;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1335, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[0];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1742:;
      }
    }
  if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
    {
      {
/* #line 1341 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_513 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      {
	switch (TREE_CODE (_p1))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 1347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 1347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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
)
		  {
		    gimple_seq *lseq = seq;
		    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1743;
		    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1349, __FILE__, __LINE__);
		    {
		      tree tem;
		      tem = captures[0];
		      res_op->set_value (tem);
		      return true;
		    }
next_after_fail1743:;
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_NOT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      {
/* #line 1417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
					if (gimple_simplify_17 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
				    {
				      {
/* #line 1417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
					if (gimple_simplify_17 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 1450 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
					if (gimple_simplify_249 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 1450 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
					if (gimple_simplify_249 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_143 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_XOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_NOT_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 1512 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_49 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
							    if (gimple_simplify_49 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
							    if (gimple_simplify_49 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_q51))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _q51))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case BIT_NOT_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 1512 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
							    if (gimple_simplify_49 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      switch (TREE_CODE (_q61))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q61))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
									{
									  {
/* #line 1517 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
									    if (gimple_simplify_52 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q21, _p1 };
									    if (gimple_simplify_52 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
						    {
						      switch (TREE_CODE (_q61))
						        {
							case SSA_NAME:
							  if (gimple *_d4 = get_def (valueize, _q61))
							    {
							      if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							        switch (gimple_assign_rhs_code (_a4))
								  {
								  case BIT_NOT_EXPR:
								    {
								      tree _q80 = gimple_assign_rhs1 (_a4);
								      _q80 = do_valueize (valueize, _q80);
								      if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
									{
									  {
/* #line 1517 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
									    if (gimple_simplify_52 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								      break;
								    }
								  default:;
								  }
							    }
							  break;
						        default:;
						        }
						    }
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q40, _q20, _p1 };
									    if (gimple_simplify_52 (res_op, seq, valueize, type, captures))
									      return true;
									  }
								        }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
				    {
				      {
/* #line 1450 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q41, _p0 };
					if (gimple_simplify_28 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
				    {
				      {
/* #line 1450 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p0 };
					if (gimple_simplify_28 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
							    if (gimple_simplify_143 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_NOT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 1559 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
						    if (gimple_simplify_528 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1559 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_528 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
							    if (gimple_simplify_49 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
							    if (gimple_simplify_49 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
							    if (gimple_simplify_49 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_IOR_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
							    if (gimple_simplify_49 (res_op, seq, valueize, type, captures))
							      return true;
							  }
						        }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
			if (gimple_simplify_109 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_XOR_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 1600 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
			if (gimple_simplify_109 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_XOR_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  switch (TREE_CODE (_q50))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q50))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_NOT_EXPR:
							        {
								  tree _q60 = gimple_assign_rhs1 (_a4);
								  _q60 = do_valueize (valueize, _q60);
								  {
/* #line 1559 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
								    if (gimple_simplify_528 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case BIT_NOT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  {
/* #line 1559 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
						    if (gimple_simplify_528 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_XOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 1600 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q30, _p0 };
			if (gimple_simplify_109 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_XOR_EXPR))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 1600 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q31, _p0 };
			if (gimple_simplify_109 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_XOR_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_IOR_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if (tree_swap_operands_p (_q70, _q71))
								    std::swap (_q70, _q71);
								  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
								    {
								      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
									if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
									  return true;
								      }
								    }
								  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
								    {
								      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
									if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
									  return true;
								      }
								    }
								  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
								    {
								      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
									if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
									  return true;
								      }
								    }
								  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
								    {
								      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
									if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
						    {
						      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
							if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
						    {
						      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
							if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
					if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
					if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
						    {
						      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
							if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
						    {
						      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
							if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      case BIT_AND_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
					if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
					if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_IOR_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
				    {
				      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
					if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
				    {
				      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
					if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
				    {
				      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
					if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
				    {
				      {
/* #line 1612 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
					if (gimple_simplify_181 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  if (tree_swap_operands_p (_q40, _q41))
				    std::swap (_q40, _q41);
				  if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
					if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
					if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
					if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
				    {
				      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
					if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  switch (TREE_CODE (_q50))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q50))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
							if (gimple_simplify_311 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
							if (gimple_simplify_311 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
							if (gimple_simplify_311 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
							if (gimple_simplify_311 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
		    {
		      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
			if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
		    {
		      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
			if (gimple_simplify_79 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
					if (gimple_simplify_220 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
					if (gimple_simplify_220 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
					if (gimple_simplify_220 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
					if (gimple_simplify_220 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
		    {
		      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
			if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
		    {
		      {
/* #line 1622 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
			if (gimple_simplify_510 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  switch (TREE_CODE (_q60))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q60))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case BIT_AND_EXPR:
							        {
								  tree _q70 = gimple_assign_rhs1 (_a4);
								  _q70 = do_valueize (valueize, _q70);
								  tree _q71 = gimple_assign_rhs2 (_a4);
								  _q71 = do_valueize (valueize, _q71);
								  if (tree_swap_operands_p (_q70, _q71))
								    std::swap (_q70, _q71);
								  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
								    {
								      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
									if (gimple_simplify_24 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
									  return true;
								      }
								    }
								  if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
								    {
								      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
									if (gimple_simplify_24 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
									  return true;
								      }
								    }
								  if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
								    {
								      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
									if (gimple_simplify_24 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
									  return true;
								      }
								    }
								  if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
								    {
								      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
									if (gimple_simplify_24 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
					          break;
					        }
					      case BIT_AND_EXPR:
					        {
						  tree _q60 = gimple_assign_rhs1 (_a3);
						  _q60 = do_valueize (valueize, _q60);
						  tree _q61 = gimple_assign_rhs2 (_a3);
						  _q61 = do_valueize (valueize, _q61);
						  if (tree_swap_operands_p (_q60, _q61))
						    std::swap (_q60, _q61);
						  if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
							if (gimple_simplify_465 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
							if (gimple_simplify_465 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
							if (gimple_simplify_465 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
						  if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
						    {
						      {
/* #line 1632 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
							if (gimple_simplify_465 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 1802 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_407 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 1802 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
		    if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
		      return true;
		  }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 1856 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_348 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
			  return true;
		      }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 1856 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_348 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
				    {
				      {
/* #line 1861 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
					if (gimple_simplify_241 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
				    {
				      {
/* #line 1861 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
					if (gimple_simplify_241 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_q21))
		  {
		    if (CONSTANT_CLASS_P (_p1))
		      {
			{
/* #line 1871 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1744;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 1871, __FILE__, __LINE__);
			  {
			    res_op->set_op (BIT_IOR_EXPR, type, 2);
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[0];
			      _o1[1] = captures[2];
			      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (lseq, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
			      if (!_r1) goto next_after_fail1744;
			      res_op->ops[0] = _r1;
			    }
			    {
			      tree _o1[2], _r1;
			      _o1[0] = captures[1];
			      _o1[1] = captures[2];
			      gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			      tem_op.resimplify (NULL, valueize);
			      _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			      if (!_r1) goto next_after_fail1744;
			      res_op->ops[1] = _r1;
			    }
			    res_op->resimplify (lseq, valueize);
			    return true;
			  }
next_after_fail1744:;
			}
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_IOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 1856 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
			if (gimple_simplify_348 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
			  return true;
		      }
		    }
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 1856 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
			if (gimple_simplify_348 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
			  return true;
		      }
		    }
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
				    {
				      {
/* #line 1861 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
					if (gimple_simplify_241 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q31))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q31))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
				    {
				      {
/* #line 1861 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
					if (gimple_simplify_241 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, BIT_IOR_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_AND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (CONSTANT_CLASS_P (_q21))
		    {
		      if (CONSTANT_CLASS_P (_p1))
			{
			  {
/* #line 1877 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
			    if (gimple_simplify_516 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
    tree _p1_pops[1];
    if (gimple_logical_inverted_value (_p1, _p1_pops, valueize))
      {
	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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	      if (gimple_simplify_386 (res_op, seq, valueize, type, captures))
	        return true;
	    }
	  }
}
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  if (gimple_zero_one_valued_p (_q30, valueize))
				    {
				      {
/* #line 2019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p1 };
					if (gimple_simplify_470 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_logical_inverted_value (_p0, _p0_pops, valueize))
    {
      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
	    if (gimple_simplify_386 (res_op, seq, valueize, type, captures))
	      return true;
	  }
        }
}
}
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  if (gimple_zero_one_valued_p (_q40, valueize))
				    {
				      {
/* #line 2019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[2] ATTRIBUTE_UNUSED = { _q40, _p0 };
					if (gimple_simplify_470 (res_op, seq, valueize, type, captures))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if (gimple_zero_one_valued_p (_q30, valueize))
		    {
		      {
/* #line 2019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			if (gimple_simplify_470 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case LT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, LT_EXPR))
						      return true;
						  }
					          break;
					        }
					      case LE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, LE_EXPR))
						      return true;
						  }
					          break;
					        }
					      case EQ_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      case NE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      case GE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, GE_EXPR))
						      return true;
						  }
					          break;
					        }
					      case GT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, GT_EXPR))
						      return true;
						  }
					          break;
					        }
					      case UNORDERED_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, UNORDERED_EXPR))
						      return true;
						  }
					          break;
					        }
					      case ORDERED_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, ORDERED_EXPR))
						      return true;
						  }
					          break;
					        }
					      case UNLT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						      return true;
						  }
					          break;
					        }
					      case UNLE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						      return true;
						  }
					          break;
					        }
					      case UNGT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						      return true;
						  }
					          break;
					        }
					      case UNGE_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						      return true;
						  }
					          break;
					        }
					      case UNEQ_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      case LTGT_EXPR:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  tree _q41 = gimple_assign_rhs2 (_a3);
						  _q41 = do_valueize (valueize, _q41);
						  if (tree_swap_operands_p (_q40, _q41))
						    std::swap (_q40, _q41);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _p1 };
						    if (gimple_simplify_86 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_q30))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q30))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  switch (TREE_CODE (_q40))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q40))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case LT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, LT_EXPR))
						      return true;
						  }
					          break;
					        }
					      case LE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, LE_EXPR))
						      return true;
						  }
					          break;
					        }
					      case EQ_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      case NE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      case GE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, GE_EXPR))
						      return true;
						  }
					          break;
					        }
					      case GT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, GT_EXPR))
						      return true;
						  }
					          break;
					        }
					      case UNORDERED_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, UNORDERED_EXPR))
						      return true;
						  }
					          break;
					        }
					      case ORDERED_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, ORDERED_EXPR))
						      return true;
						  }
					          break;
					        }
					      case UNLT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						      return true;
						  }
					          break;
					        }
					      case UNLE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						      return true;
						  }
					          break;
					        }
					      case UNGT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						      return true;
						  }
					          break;
					        }
					      case UNGE_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						      return true;
						  }
					          break;
					        }
					      case UNEQ_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      case LTGT_EXPR:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  tree _q51 = gimple_assign_rhs2 (_a3);
						  _q51 = do_valueize (valueize, _q51);
						  if (tree_swap_operands_p (_q50, _q51))
						    std::swap (_q50, _q51);
						  {
/* #line 2131 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _p0 };
						    if (gimple_simplify_186 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case INTEGER_CST:
		      {
			{
/* #line 2599 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
			  if (gimple_simplify_155 (res_op, seq, valueize, type, captures))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LSHIFT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q31))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (_p1))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 3865 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
								if (gimple_simplify_483 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
								  return true;
							      }
							      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
						if (gimple_simplify_19 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case RSHIFT_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q31))
						    {
						    case INTEGER_CST:
						      {
							switch (TREE_CODE (_p1))
							  {
							  case INTEGER_CST:
							    {
							      {
/* #line 3865 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q31, _p1 };
								if (gimple_simplify_483 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
								  return true;
							      }
							      break;
							    }
						          default:;
						          }
						        break;
						      }
						    default:;
						    }
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gcall *_c4 = dyn_cast <gcall *> (_d4))
							    switch (gimple_call_combined_fn (_c4))
							      {
							      case CFN_BUILT_IN_BSWAP16:
							        if (gimple_call_num_args (_c4) == 1)
							          {
								    tree _q50 = gimple_call_arg (_c4, 0);
								    _q50 = do_valueize (valueize, _q50);
								    switch (TREE_CODE (_q31))
								      {
								      case INTEGER_CST:
								        {
									  switch (TREE_CODE (_p1))
									    {
									    case INTEGER_CST:
									      {
										{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
										  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
										    return true;
										}
									        break;
									      }
									    default:;
									    }
								          break;
								        }
								      default:;
								      }
							          }
							        break;
							      case CFN_BUILT_IN_BSWAP32:
							        if (gimple_call_num_args (_c4) == 1)
							          {
								    tree _q50 = gimple_call_arg (_c4, 0);
								    _q50 = do_valueize (valueize, _q50);
								    switch (TREE_CODE (_q31))
								      {
								      case INTEGER_CST:
								        {
									  switch (TREE_CODE (_p1))
									    {
									    case INTEGER_CST:
									      {
										{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
										  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32))
										    return true;
										}
									        break;
									      }
									    default:;
									    }
								          break;
								        }
								      default:;
								      }
							          }
							        break;
							      case CFN_BUILT_IN_BSWAP64:
							        if (gimple_call_num_args (_c4) == 1)
							          {
								    tree _q50 = gimple_call_arg (_c4, 0);
								    _q50 = do_valueize (valueize, _q50);
								    switch (TREE_CODE (_q31))
								      {
								      case INTEGER_CST:
								        {
									  switch (TREE_CODE (_p1))
									    {
									    case INTEGER_CST:
									      {
										{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
										  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
										    return true;
										}
									        break;
									      }
									    default:;
									    }
								          break;
								        }
								      default:;
								      }
							          }
							        break;
							      case CFN_BUILT_IN_BSWAP128:
							        if (gimple_call_num_args (_c4) == 1)
							          {
								    tree _q50 = gimple_call_arg (_c4, 0);
								    _q50 = do_valueize (valueize, _q50);
								    switch (TREE_CODE (_q31))
								      {
								      case INTEGER_CST:
								        {
									  switch (TREE_CODE (_p1))
									    {
									    case INTEGER_CST:
									      {
										{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
										  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q40, _q50, _q31, _p1 };
										  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128))
										    return true;
										}
									        break;
									      }
									    default:;
									    }
								          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q31, _p1 };
						if (gimple_simplify_19 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_BSWAP16:
					        if (gimple_call_num_args (_c3) == 1)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    switch (TREE_CODE (_q31))
						      {
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
								  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_BSWAP32:
					        if (gimple_call_num_args (_c3) == 1)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    switch (TREE_CODE (_q31))
						      {
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
								  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_BSWAP64:
					        if (gimple_call_num_args (_c3) == 1)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    switch (TREE_CODE (_q31))
						      {
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
								  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_BSWAP128:
					        if (gimple_call_num_args (_c3) == 1)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    switch (TREE_CODE (_q31))
						      {
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q31, _p1 };
								  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
			  else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP16:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_p1))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_336 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
			          }
			        break;
			      case CFN_BUILT_IN_BSWAP32:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_p1))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_336 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
			          }
			        break;
			      case CFN_BUILT_IN_BSWAP64:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_p1))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_336 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
			          }
			        break;
			      case CFN_BUILT_IN_BSWAP128:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_p1))
				      {
				      case INTEGER_CST:
				        {
					  {
/* #line 4436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _p1 };
					    if (gimple_simplify_336 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128))
					      return true;
					  }
				          break;
				        }
				      default:;
				      }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case INTEGER_CST:
      {
	{
/* #line 2599 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_155 (res_op, seq, valueize, type, captures))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EQ_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2627 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_212 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_max_value (_q51, valueize))
					{
					  {
/* #line 2639 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_51 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case NE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2627 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_212 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_max_value (_q51, valueize))
					{
					  {
/* #line 2639 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_51 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EQ_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_37 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case NE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_37 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, GT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, GT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, GT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, GT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, LT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, LT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, LT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, LT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EQ_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2627 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_212 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_max_value (_q51, valueize))
					{
					  {
/* #line 2639 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_51 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case NE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2627 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
					    if (gimple_simplify_212 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_max_value (_q51, valueize))
					{
					  {
/* #line 2639 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
					    if (gimple_simplify_51 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EQ_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_37 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case NE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_37 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, LT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, LT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, LT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, LT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, GT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, GT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, GT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, GT_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EQ_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_431 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
						      return true;
						  }
						  {
/* #line 2707 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_37 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case NE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_431 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
						      return true;
						  }
						  {
/* #line 2707 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_37 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_431 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_431 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_431 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_431 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		if (gimple_min_value (_q21, valueize))
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case GT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2627 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_392 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				case LT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2627 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_392 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				case LE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2648 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
					  if (gimple_simplify_195 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				case GE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2648 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
					  if (gimple_simplify_195 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
		if (gimple_max_value (_q21, valueize))
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case LT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2639 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				case GT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2639 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				case GE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2653 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
					  if (gimple_simplify_355 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				case LE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2653 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
					  if (gimple_simplify_355 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EQ_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_431 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
						      return true;
						  }
						  {
/* #line 2707 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_37 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case NE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_431 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
						      return true;
						  }
						  {
/* #line 2707 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_37 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_431 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_431 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_431 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_431 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		if (gimple_min_value (_q21, valueize))
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case GT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2627 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_392 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				case LT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2627 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_392 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				case GE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
					  if (gimple_simplify_206 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				case LE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
					  if (gimple_simplify_206 (res_op, seq, valueize, type, captures))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
		if (gimple_max_value (_q21, valueize))
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d2 = get_def (valueize, _p1))
		          {
			    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			      switch (gimple_assign_rhs_code (_a2))
				{
				case LT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				      {
					{
/* #line 2639 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
					  if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				case GT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a2);
				    _q50 = do_valueize (valueize, _q50);
				    tree _q51 = gimple_assign_rhs2 (_a2);
				    _q51 = do_valueize (valueize, _q51);
				    if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				      {
					{
/* #line 2639 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
					  if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EQ_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2648 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
					    if (gimple_simplify_12 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_max_value (_q51, valueize))
					{
					  {
/* #line 2653 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
					    if (gimple_simplify_345 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case NE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
					    if (gimple_simplify_71 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EQ_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_37 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case NE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_37 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, LE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, LE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, LE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, LE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, GE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, GE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, GE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, GE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EQ_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2648 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
					    if (gimple_simplify_12 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      if (gimple_max_value (_q51, valueize))
					{
					  {
/* #line 2653 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
					    if (gimple_simplify_345 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case NE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      if (gimple_min_value (_q51, valueize))
					{
					  {
/* #line 2696 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
					    if (gimple_simplify_71 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case EQ_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_37 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case NE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q21 };
						    if (gimple_simplify_37 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, GE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, GE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, GE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, GE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case LT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, LE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case LE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, LE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LT_EXPR, LE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case GE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
						      return true;
						  }
					          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
						    if (gimple_simplify_383 (res_op, seq, valueize, type, captures, LE_EXPR, LE_EXPR))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 3865 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
						if (gimple_simplify_96 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case INTEGER_CST:
		      {
			if (integer_onep (_p1))
			  {
			    {
/* #line 3772 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
/* #line 3772 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if ((wi::to_wide (captures[0]) & 1) != 0
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1745;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3773, __FILE__, __LINE__);
				  {
				    res_op->set_op (NOP_EXPR, type, 1);
				    {
				      tree _o1[2], _r1;
				      _o1[0] = captures[1];
				      _o1[1] =  build_zero_cst (TREE_TYPE (captures[1]));
				      gimple_match_op tem_op (res_op->cond.any_else (), EQ_EXPR, boolean_type_node, _o1[0], _o1[1]);
				      tem_op.resimplify (lseq, valueize);
				      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				      if (!_r1) goto next_after_fail1745;
				      res_op->ops[0] = _r1;
				    }
				    res_op->resimplify (lseq, valueize);
				    return true;
				  }
next_after_fail1745:;
				}
			      else
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1746;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3774, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem =  build_zero_cst (type);
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail1746:;
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3865 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
				if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LSHIFT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case INTEGER_CST:
					    {
					      {
/* #line 3865 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q21, _p1 };
						if (gimple_simplify_96 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gcall *_c3 = dyn_cast <gcall *> (_d3))
					    switch (gimple_call_combined_fn (_c3))
					      {
					      case CFN_BUILT_IN_BSWAP16:
					        if (gimple_call_num_args (_c3) == 1)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    switch (TREE_CODE (_q21))
						      {
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
								  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_BSWAP32:
					        if (gimple_call_num_args (_c3) == 1)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    switch (TREE_CODE (_q21))
						      {
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
								  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_BSWAP64:
					        if (gimple_call_num_args (_c3) == 1)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    switch (TREE_CODE (_q21))
						      {
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
								  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						          break;
						        }
						      default:;
						      }
					          }
					        break;
					      case CFN_BUILT_IN_BSWAP128:
					        if (gimple_call_num_args (_c3) == 1)
					          {
						    tree _q40 = gimple_call_arg (_c3, 0);
						    _q40 = do_valueize (valueize, _q40);
						    switch (TREE_CODE (_q21))
						      {
						      case INTEGER_CST:
						        {
							  switch (TREE_CODE (_p1))
							    {
							    case INTEGER_CST:
							      {
								{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q21, _p1 };
								  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						          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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q21, _p1 };
				if (gimple_simplify_172 (res_op, seq, valueize, type, captures, RSHIFT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			    switch (gimple_call_combined_fn (_c2))
			      {
			      case CFN_BUILT_IN_BSWAP16:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
						  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				          break;
				        }
				      default:;
				      }
			          }
			        break;
			      case CFN_BUILT_IN_BSWAP32:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
						  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				          break;
				        }
				      default:;
				      }
			          }
			        break;
			      case CFN_BUILT_IN_BSWAP64:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
						  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				          break;
				        }
				      default:;
				      }
			          }
			        break;
			      case CFN_BUILT_IN_BSWAP128:
			        if (gimple_call_num_args (_c2) == 1)
			          {
				    tree _q30 = gimple_call_arg (_c2, 0);
				    _q30 = do_valueize (valueize, _q30);
				    switch (TREE_CODE (_q21))
				      {
				      case INTEGER_CST:
				        {
					  switch (TREE_CODE (_p1))
					    {
					    case INTEGER_CST:
					      {
						{
/* #line 4375 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _p1 };
						  if (gimple_simplify_414 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				          break;
				        }
				      default:;
				      }
			          }
			        break;
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1747;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1747;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1747;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1747:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1748;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1748;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1748;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1748:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_BSWAP16:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_336 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_BSWAP32:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_336 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_BSWAP64:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_336 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      case CFN_BUILT_IN_BSWAP128:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  {
/* #line 4436 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
			    if (gimple_simplify_336 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128))
			      return true;
			  }
		          break;
		        }
		      default:;
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1749;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1749;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1749;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1749:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case ORDERED_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case ORDERED_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      if ((_q51 == _q50 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q50, 0) && types_match (_q51, _q50)))
					{
					  {
/* #line 5716 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
/* #line 5716 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (types_match (captures[0], captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1750;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5717, __FILE__, __LINE__);
						{
						  res_op->set_op (ORDERED_EXPR, type, 2);
						  res_op->ops[0] = captures[0];
						  res_op->ops[1] = captures[1];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1750:;
					      }
					  }
				        }
				      if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
					{
					  {
/* #line 5723 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
					    if (gimple_simplify_95 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
					{
					  {
/* #line 5723 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
					    if (gimple_simplify_95 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ORDERED_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
					    if (gimple_simplify_35 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
					    if (gimple_simplify_35 (res_op, seq, valueize, type, captures))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case GE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_219 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case GT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_219 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      case EQ_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_219 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case LT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case GT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_219 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case EQ_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_219 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case GT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_219 (res_op, seq, valueize, type, captures, EQ_EXPR, GT_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case LT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_219 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case NE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_219 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_219 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case GE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, GE_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, LE_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case LT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_219 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      case LE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_219 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case EQ_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if (tree_swap_operands_p (_q50, _q51))
				    std::swap (_q50, _q51);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
					    if (gimple_simplify_219 (res_op, seq, valueize, type, captures, EQ_EXPR, GT_EXPR))
					      return true;
					  }
				        }
				    }
			          break;
			        }
			      case GT_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, GT_EXPR, MAX_EXPR))
					  return true;
				      }
				    }
				  if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
				    {
				      {
/* #line 7343 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
					if (gimple_simplify_417 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, LT_EXPR, MIN_EXPR))
					  return true;
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q21))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  switch (TREE_CODE (_p1))
						    {
						    case INTEGER_CST:
						      {
							{
/* #line 7310 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
							  if (gimple_simplify_346 (res_op, seq, valueize, type, captures, MINUS_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q21))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q50 = gimple_assign_rhs1 (_a3);
						  _q50 = do_valueize (valueize, _q50);
						  switch (TREE_CODE (_p1))
						    {
						    case INTEGER_CST:
						      {
							{
/* #line 7310 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q21, _q50, _p1 };
							  if (gimple_simplify_346 (res_op, seq, valueize, type, captures, PLUS_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if (integer_onep (_p1))
		    {
		      {
/* #line 8472 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
/* #line 8472 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (!TYPE_OVERFLOW_SANITIZED (type)
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1751;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8473, __FILE__, __LINE__);
			    {
			      res_op->set_op (BIT_AND_EXPR, type, 2);
			      res_op->ops[0] = captures[0];
			      res_op->ops[1] = captures[1];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1751:;
			  }
		      }
		    }
	          break;
	        }
	      case VEC_PERM_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case VEC_PERM_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      tree _q61 = gimple_assign_rhs2 (_a2);
				      _q61 = do_valueize (valueize, _q61);
				      tree _q62 = gimple_assign_rhs3 (_a2);
				      _q62 = do_valueize (valueize, _q62);
				      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 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
/* #line 8487 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (VECTOR_INTEGER_TYPE_P (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1752;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8488, __FILE__, __LINE__);
						    {
						      res_op->set_op (VEC_PERM_EXPR, type, 3);
						      {
							tree _o1[2], _r1;
							_o1[0] = captures[0];
							_o1[1] = captures[2];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
							tem_op.resimplify (lseq, valueize);
							_r1 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r1) goto next_after_fail1752;
							captures[3] = _r1;
						      }
						      res_op->ops[0] = captures[3];
						      res_op->ops[1] = captures[3];
						      res_op->ops[2] = captures[1];
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1752:;
						  }
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_BUILT_IN_POPCOUNT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_onep (_p1))
		      {
			{
/* #line 7745 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_146 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POPCOUNT, CFN_BUILT_IN_PARITY))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_onep (_p1))
		      {
			{
/* #line 7745 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_146 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POPCOUNTL, CFN_BUILT_IN_PARITYL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTLL:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_onep (_p1))
		      {
			{
/* #line 7745 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_146 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POPCOUNTLL, CFN_BUILT_IN_PARITYLL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_BUILT_IN_POPCOUNTIMAX:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_onep (_p1))
		      {
			{
/* #line 7745 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_146 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_POPCOUNTIMAX, CFN_BUILT_IN_PARITYIMAX))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_POPCOUNT:
	        if (gimple_call_num_args (_c1) == 1)
	          {
		    tree _q20 = gimple_call_arg (_c1, 0);
		    _q20 = do_valueize (valueize, _q20);
		    if (integer_onep (_p1))
		      {
			{
/* #line 7745 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			  if (gimple_simplify_146 (res_op, seq, valueize, type, captures, CFN_POPCOUNT, CFN_PARITY))
			    return true;
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_MIN_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_246 (res_op, seq, valueize, type, captures, MIN_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MAX_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 3424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_39 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 3424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_39 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MAX_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 3424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			if (gimple_simplify_39 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
			if (gimple_simplify_39 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3439 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_405 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 3439 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_405 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 3446 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3446 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
      {
	gimple_seq *lseq = seq;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1753;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3449, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[1];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1753:;
      }
    else
      {
/* #line 3450 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1754;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3453, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem = captures[0];
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail1754:;
	  }
      }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
/* #line 3479 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
				{
/* #line 3480 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (tree_int_cst_sgn (captures[2]) > 0
)
				    {
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1755;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3481, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[0];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1755:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1756;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3482, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[1];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1756:;
				    }
				}
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
/* #line 3479 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
				{
/* #line 3480 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (tree_int_cst_sgn (captures[2]) > 0
)
				    {
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1757;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3481, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[0];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1757:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1758;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3482, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[1];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1758:;
				    }
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ADDR_EXPR:
							        {
								  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
								    if (gimple_simplify_114 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    case ADDR_EXPR:
						      {
							{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
							  if (gimple_simplify_114 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      case ADDR_EXPR:
					        {
						  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
						    if (gimple_simplify_198 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
					  if (gimple_simplify_198 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case ADDR_EXPR:
						      {
							{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
							  if (gimple_simplify_114 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					      }
					    break;
					  case ADDR_EXPR:
					    {
					      {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
						if (gimple_simplify_114 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case ADDR_EXPR:
				      {
					{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
					  if (gimple_simplify_198 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
				if (gimple_simplify_198 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case ADDR_EXPR:
					        {
						  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
						    if (gimple_simplify_504 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
					  if (gimple_simplify_504 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case ADDR_EXPR:
			        {
				  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
				    if (gimple_simplify_280 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
			  if (gimple_simplify_280 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1759;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1759;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1759:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_201 (res_op, seq, valueize, type, captures, MIN_EXPR, MAX_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1760;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1760;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1760;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1760:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1761;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1761;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1761;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1761:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _p1))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    CASE_CONVERT:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			switch (TREE_CODE (_q30))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q30))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case ADDR_EXPR:
				      {
					{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
					  if (gimple_simplify_504 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
				if (gimple_simplify_504 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case ADDR_EXPR:
		      {
			{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
			  if (gimple_simplify_280 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
		if (gimple_simplify_280 (res_op, seq, valueize, type, captures, MIN_EXPR, LT_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1762;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1762;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1762;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1762:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_MAX_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_246 (res_op, seq, valueize, type, captures, MAX_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MIN_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      {
/* #line 3428 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
			if (gimple_simplify_182 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 3428 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
			if (gimple_simplify_182 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case MIN_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
		    {
		      {
/* #line 3428 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q30, _p0 };
			if (gimple_simplify_182 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3428 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[2] ATTRIBUTE_UNUSED = { _q31, _p0 };
			if (gimple_simplify_182 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 3432 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
			if (gimple_simplify_238 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
		    {
		      {
/* #line 3432 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			if (gimple_simplify_238 (res_op, seq, valueize, type, captures))
			  return true;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  {
/* #line 3457 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 3457 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
      {
	gimple_seq *lseq = seq;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1763;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3460, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[1];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1763:;
      }
    else
      {
/* #line 3461 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1764;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3464, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem = captures[0];
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail1764:;
	  }
      }
  }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q31 };
/* #line 3470 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
				{
/* #line 3471 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (tree_int_cst_sgn (captures[2]) > 0
)
				    {
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1765;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3472, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[1];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1765:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1766;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3473, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[0];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1766:;
				    }
				}
			    }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
/* #line 3470 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
)
				{
/* #line 3471 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  if (tree_int_cst_sgn (captures[2]) > 0
)
				    {
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1767;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3472, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[1];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1767:;
				    }
				  else
				    {
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1768;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3473, __FILE__, __LINE__);
				      {
					tree tem;
					tem = captures[0];
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1768:;
				    }
				}
			    }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case ADDR_EXPR:
			        {
				  switch (TREE_CODE (_p1))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _p1))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      CASE_CONVERT:
					        {
						  tree _q40 = gimple_assign_rhs1 (_a3);
						  _q40 = do_valueize (valueize, _q40);
						  switch (TREE_CODE (_q40))
						    {
						    case SSA_NAME:
						      if (gimple *_d4 = get_def (valueize, _q40))
						        {
							  if (gassign *_a4 = dyn_cast <gassign *> (_d4))
							    switch (gimple_assign_rhs_code (_a4))
							      {
							      case ADDR_EXPR:
							        {
								  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
								    if (gimple_simplify_114 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    case ADDR_EXPR:
						      {
							{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
							  if (gimple_simplify_114 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      case ADDR_EXPR:
					        {
						  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
						    if (gimple_simplify_198 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
					  if (gimple_simplify_198 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q40 = gimple_assign_rhs1 (_a2);
					_q40 = do_valueize (valueize, _q40);
					switch (TREE_CODE (_q40))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _q40))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case ADDR_EXPR:
						      {
							{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
							  if (gimple_simplify_114 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					      }
					    break;
					  case ADDR_EXPR:
					    {
					      {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
						if (gimple_simplify_114 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
						  return true;
					      }
					      break;
					    }
				          default:;
				          }
				        break;
				      }
				    case ADDR_EXPR:
				      {
					{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
					  if (gimple_simplify_198 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
				if (gimple_simplify_198 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case ADDR_EXPR:
	        {
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q30))
				    {
				    case SSA_NAME:
				      if (gimple *_d3 = get_def (valueize, _q30))
				        {
					  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					    switch (gimple_assign_rhs_code (_a3))
					      {
					      case ADDR_EXPR:
					        {
						  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
						    if (gimple_simplify_504 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    case ADDR_EXPR:
				      {
					{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
					  if (gimple_simplify_504 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      case ADDR_EXPR:
			        {
				  {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
				    if (gimple_simplify_280 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    case ADDR_EXPR:
		      {
			{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
			  if (gimple_simplify_280 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1769;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1769;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1769:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case BIT_NOT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_NOT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3555 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
				    if (gimple_simplify_201 (res_op, seq, valueize, type, captures, MAX_EXPR, MIN_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1770;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1770;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1770;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1770:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1771;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1771;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1771;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1771:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case ADDR_EXPR:
      {
	switch (TREE_CODE (_p1))
	  {
	  case SSA_NAME:
	    if (gimple *_d1 = get_def (valueize, _p1))
	      {
		if (gassign *_a1 = dyn_cast <gassign *> (_d1))
		  switch (gimple_assign_rhs_code (_a1))
		    {
		    CASE_CONVERT:
		      {
			tree _q30 = gimple_assign_rhs1 (_a1);
			_q30 = do_valueize (valueize, _q30);
			switch (TREE_CODE (_q30))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _q30))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case ADDR_EXPR:
				      {
					{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
					  if (gimple_simplify_504 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
					    return true;
					}
				        break;
				      }
				    default:;
				    }
			      }
			    break;
			  case ADDR_EXPR:
			    {
			      {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _q30 };
				if (gimple_simplify_504 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    case ADDR_EXPR:
		      {
			{
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
			  if (gimple_simplify_280 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
			    return true;
			}
		        break;
		      }
		    default:;
		    }
	      }
	    break;
	  case ADDR_EXPR:
	    {
	      {
/* #line 3490 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _p1, _p1 };
		if (gimple_simplify_280 (res_op, seq, valueize, type, captures, MAX_EXPR, GT_EXPR))
		  return true;
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1772;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1772;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1772;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1772:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMINF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1773;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMAXF, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1773;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1773:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMIN (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMIN))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMIN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMIN))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMIN))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1774;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMAX, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1774;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1774:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMINL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINL))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINL))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINL))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINL))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1775;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMAXL, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1775;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1775:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMINF16 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF16))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF16))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF16))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF16))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1776;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMAXF16, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1776;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1776:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMINF32 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF32))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF32))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF32))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF32))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1777;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMAXF32, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1777;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1777:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMINF64 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF64))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF64))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF64))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF64))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1778;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMAXF64, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1778;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1778:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMINF128 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF128))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF128))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF128))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF128))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1779;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMAXF128, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1779;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1779:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMINF32X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF32X))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF32X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF32X))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF32X))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1780;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMAXF32X, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1780;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1780:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMINF64X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF64X))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF64X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF64X))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF64X))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1781;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMAXF64X, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1781;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1781:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMINF128X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF128X))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF128X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF128X))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMINF128X))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1782;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMAXF128X, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1782;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1782:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_FMIN (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_FMIN))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_FMIN))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_FMIN))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_105 (res_op, seq, valueize, type, captures, CFN_FMIN))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1783;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_FMAX, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1783;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1783:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAXF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1784;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMINF, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1784;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1784:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAX (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAX))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAX))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAX))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAX))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1785;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMIN, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1785;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1785:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAXL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXL))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXL))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXL))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXL))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1786;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMINL, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1786;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1786:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAXF16 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF16))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF16))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF16))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF16))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1787;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMINF16, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1787;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1787:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAXF32 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF32))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF32))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF32))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF32))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1788;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMINF32, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1788;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1788:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAXF64 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF64))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF64))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF64))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF64))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1789;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMINF64, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1789;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1789:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAXF128 (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF128))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF128))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF128))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF128))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1790;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMINF128, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1790;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1790:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAXF32X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF32X))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF32X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF32X))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF32X))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1791;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMINF32X, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1791;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1791:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAXF64X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF64X))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF64X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF64X))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF64X))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1792;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMINF64X, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1792;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1792:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAXF128X (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF128X))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF128X))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF128X))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAXF128X))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1793;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_FMINF128X, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1793;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1793:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_FMAX (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), 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 3419 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_524 (res_op, seq, valueize, type, captures, CFN_FMAX))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_FMAX))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 3524 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p1, _p0 };
	  if (gimple_simplify_191 (res_op, seq, valueize, type, captures, CFN_FMAX))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 3533 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
    if (gimple_simplify_401 (res_op, seq, valueize, type, captures, CFN_FMAX))
      return true;
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
/* #line 3545 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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])))
)
				      {
					gimple_seq *lseq = seq;
					if (lseq
					    && (!single_use (captures[0])
					        || !single_use (captures[2])))
					  lseq = NULL;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1794;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3548, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[2], _r1;
					    _o1[0] = captures[1];
					    _o1[1] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), CFN_FMIN, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r1) goto next_after_fail1794;
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1794:;
				      }
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_LROTATE_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_all_onesp (_p0))
    {
      {
/* #line 3664 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_351 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 3711 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_307 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3714 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_150 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case CONSTRUCTOR:
	        {
		  {
/* #line 3720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (gimple_simplify_376 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case VECTOR_CST:
      {
	{
/* #line 3720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_359 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
	    return true;
	}
        break;
      }
    case INTEGER_CST:
      {
	{
/* #line 3743 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  gimple_seq *lseq = seq;
	  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1795;
	  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 3743, __FILE__, __LINE__);
	  {
	    res_op->set_op (RROTATE_EXPR, type, 2);
	    res_op->ops[0] = captures[0];
	    res_op->ops[1] =  const_binop (MINUS_EXPR, TREE_TYPE (captures[1]),
 build_int_cst (TREE_TYPE (captures[1]),
 element_precision (type)), captures[1]);
	    res_op->resimplify (lseq, valueize);
	    return true;
	  }
next_after_fail1795:;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LROTATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3751 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_324 (res_op, seq, valueize, type, captures, LROTATE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_RROTATE_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (integer_all_onesp (_p0))
    {
      {
/* #line 3664 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_351 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 3711 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_307 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
	  return true;
      }
    }
  if (integer_zerop (_p0))
    {
      {
/* #line 3714 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_150 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case CONSTRUCTOR:
	        {
		  {
/* #line 3720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
		    if (gimple_simplify_376 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case VECTOR_CST:
      {
	{
/* #line 3720 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_359 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case RROTATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case INTEGER_CST:
			    {
			      {
/* #line 3751 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
				if (gimple_simplify_324 (res_op, seq, valueize, type, captures, RROTATE_EXPR))
				  return true;
			      }
			      break;
			    }
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_COMPLEX_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case REALPART_EXPR:
	        {
		  tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q20) == SSA_NAME
		       || is_gimple_min_invariant (_q20)))
		    {
		      _q20 = do_valueize (valueize, _q20);
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case IMAGPART_EXPR:
				    {
				      tree _q40 = TREE_OPERAND (gimple_assign_rhs1 (_a2), 0);
				      if ((TREE_CODE (_q40) == SSA_NAME
				           || is_gimple_min_invariant (_q40)))
				        {
					  _q40 = do_valueize (valueize, _q40);
					  if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
					    {
					      {
/* #line 4310 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1796;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4310, __FILE__, __LINE__);
						{
						  tree tem;
						  tem = captures[0];
						  res_op->set_value (tem);
						  return true;
						}
next_after_fail1796:;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_UNORDERED_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1797;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), UNORDERED_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1797;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), UNORDERED_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1797;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1797:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1798;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNORDERED_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1798;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNORDERED_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1798;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1798:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1799;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNORDERED_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1799;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNORDERED_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1799;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1799:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, UNORDERED_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, UNORDERED_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, UNORDERED_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_93 (res_op, seq, valueize, type, captures, UNORDERED_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 6270 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6270 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
)
      {
	gimple_seq *lseq = seq;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1800;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6271, __FILE__, __LINE__);
	{
	  tree tem;
	  tem =  constant_boolean_node (true, type);
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1800:;
      }
    else
      {
/* #line 6272 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1801;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6273, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem =  constant_boolean_node (false, type);
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail1801:;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_ORDERED_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1802;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), ORDERED_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1802;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), ORDERED_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1802;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1802:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1803;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), ORDERED_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1803;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), ORDERED_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1803;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1803:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1804;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), ORDERED_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1804;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), ORDERED_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1804;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1804:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, ORDERED_EXPR, ORDERED_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, ORDERED_EXPR, ORDERED_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, ORDERED_EXPR, ORDERED_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_93 (res_op, seq, valueize, type, captures, ORDERED_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  {
/* #line 6279 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6279 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    if (tree_expr_nan_p (captures[0]) || tree_expr_nan_p (captures[1])
)
      {
	gimple_seq *lseq = seq;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1805;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6280, __FILE__, __LINE__);
	{
	  tree tem;
	  tem =  constant_boolean_node (false, type);
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1805:;
      }
    else
      {
/* #line 6281 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (!tree_expr_maybe_nan_p (captures[0]) && !tree_expr_maybe_nan_p (captures[1])
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1806;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6282, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem =  constant_boolean_node (true, type);
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail1806:;
	  }
      }
  }
  return false;
}

static bool
gimple_simplify_UNLT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1807;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), UNLT_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1807;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), UNLT_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1807;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1807:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1808;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNLT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1808;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNLT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1808;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1808:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1809;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNLT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1809;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNLT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1809;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1809:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_176 (res_op, seq, valueize, type, captures, UNLT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, UNLT_EXPR, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, UNLT_EXPR, UNGT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, UNLT_EXPR, UNGT_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_93 (res_op, seq, valueize, type, captures, UNLT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_UNLE_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1810;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), UNLE_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1810;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), UNLE_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1810;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1810:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1811;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNLE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1811;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNLE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1811;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1811:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1812;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNLE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1812;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNLE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1812;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1812:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, UNLE_EXPR, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, UNLE_EXPR, UNGE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, UNLE_EXPR, UNGE_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_93 (res_op, seq, valueize, type, captures, UNLE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_UNGT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1813;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), UNGT_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1813;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), UNGT_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1813;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1813:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1814;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNGT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1814;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNGT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1814;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1814:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1815;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNGT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1815;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNGT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1815;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1815:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_176 (res_op, seq, valueize, type, captures, UNGT_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, UNGT_EXPR, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, UNGT_EXPR, UNLT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, UNGT_EXPR, UNLT_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_93 (res_op, seq, valueize, type, captures, UNGT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_UNGE_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1816;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), UNGE_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1816;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), UNGE_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1816;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1816:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1817;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNGE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1817;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNGE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1817;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1817:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1818;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNGE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1818;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNGE_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1818;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1818:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGE_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, UNGE_EXPR, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, UNGE_EXPR, UNLE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, UNGE_EXPR, UNLE_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_93 (res_op, seq, valueize, type, captures, UNGE_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_UNEQ_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1819;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), UNEQ_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1819;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), UNEQ_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1819;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1819:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1820;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNEQ_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1820;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNEQ_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1820;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1820:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1821;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNEQ_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1821;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), UNEQ_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1821;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1821:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
	if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, UNEQ_EXPR, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, UNEQ_EXPR, UNEQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, UNEQ_EXPR, UNEQ_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_93 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_LTGT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case VEC_COND_EXPR:
			        {
				  tree _q60 = gimple_assign_rhs1 (_a2);
				  _q60 = do_valueize (valueize, _q60);
				  tree _q61 = gimple_assign_rhs2 (_a2);
				  _q61 = do_valueize (valueize, _q61);
				  tree _q62 = gimple_assign_rhs3 (_a2);
				  _q62 = do_valueize (valueize, _q62);
				  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				    {
				      {
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
/* #line 4486 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
					  {
					    gimple_seq *lseq = seq;
					    if (lseq
					        && (!single_use (captures[0])
					            || !single_use (captures[4])))
					      lseq = NULL;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1822;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4496, __FILE__, __LINE__);
					    {
					      res_op->set_op (VEC_COND_EXPR, type, 3);
					      res_op->ops[0] = captures[1];
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[2];
						_o1[1] = captures[5];
						gimple_match_op tem_op (res_op->cond.any_else (), LTGT_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1822;
						res_op->ops[1] = _r1;
					      }
					      {
						tree _o1[2], _r1;
						_o1[0] = captures[3];
						_o1[1] = captures[6];
						gimple_match_op tem_op (res_op->cond.any_else (), LTGT_EXPR, type, _o1[0], _o1[1]);
						tem_op.resimplify (NULL, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, NULL);
						if (!_r1) goto next_after_fail1822;
						res_op->ops[2] = _r1;
					      }
					      res_op->resimplify (lseq, valueize);
					      return true;
					    }
next_after_fail1822:;
					  }
				      }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  {
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
/* #line 4501 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[0])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1823;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4508, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[1];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[2];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), LTGT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1823;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[3];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), LTGT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1823;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1823:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4511 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)))
)
		      {
			gimple_seq *lseq = seq;
			if (lseq
			    && (!single_use (captures[1])))
			  lseq = NULL;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1824;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4518, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[2];
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[3];
			    gimple_match_op tem_op (res_op->cond.any_else (), LTGT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1824;
			    res_op->ops[1] = _r1;
			  }
			  {
			    tree _o1[2], _r1;
			    _o1[0] = captures[0];
			    _o1[1] = captures[4];
			    gimple_match_op tem_op (res_op->cond.any_else (), LTGT_EXPR, type, _o1[0], _o1[1]);
			    tem_op.resimplify (NULL, valueize);
			    _r1 = maybe_push_res_to_seq (&tem_op, NULL);
			    if (!_r1) goto next_after_fail1824;
			    res_op->ops[2] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1824:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
/* #line 5279 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (!flag_trapping_math || !tree_expr_maybe_nan_p (captures[0])
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1825;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5280, __FILE__, __LINE__);
	    {
	      tree tem;
	      tem =  constant_boolean_node (false, type);
	      res_op->set_value (tem);
	      return true;
	    }
next_after_fail1825:;
	  }
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case FLOAT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case FLOAT_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5556 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q40 };
				    if (gimple_simplify_494 (res_op, seq, valueize, type, captures, LTGT_EXPR, NE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  {
/* #line 5776 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
				    if (gimple_simplify_388 (res_op, seq, valueize, type, captures, LTGT_EXPR, LTGT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		if (CONSTANT_CLASS_P (_p1))
		  {
		    {
/* #line 5782 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
		      if (gimple_simplify_382 (res_op, seq, valueize, type, captures, LTGT_EXPR, LTGT_EXPR))
		        return true;
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case REAL_CST:
      {
	{
/* #line 6261 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	  if (gimple_simplify_93 (res_op, seq, valueize, type, captures, LTGT_EXPR))
	    return true;
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_ADD_OVERFLOW (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 6417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		    if (gimple_simplify_252 (res_op, seq, valueize, type, captures, CFN_ADD_OVERFLOW))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 6424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
		    if (gimple_simplify_221 (res_op, seq, valueize, type, captures, CFN_ADD_OVERFLOW))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_SUB_OVERFLOW (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 6417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		    if (gimple_simplify_252 (res_op, seq, valueize, type, captures, CFN_SUB_OVERFLOW))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 6424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
		    if (gimple_simplify_221 (res_op, seq, valueize, type, captures, CFN_SUB_OVERFLOW))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_MUL_OVERFLOW (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 6417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _p1 };
		    if (gimple_simplify_252 (res_op, seq, valueize, type, captures, CFN_MUL_OVERFLOW))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      CASE_CONVERT:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 6424 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q30 };
		    if (gimple_simplify_221 (res_op, seq, valueize, type, captures, CFN_MUL_OVERFLOW))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LDEXPF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (real_zerop (_p0))
    {
      {
/* #line 6789 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_503 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6793 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_380 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1826;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6798, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1826:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LDEXP (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (real_zerop (_p0))
    {
      {
/* #line 6789 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_503 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6793 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_380 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1827;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6798, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1827:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_LDEXPL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (real_zerop (_p0))
    {
      {
/* #line 6789 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_503 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6793 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_380 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1828;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6798, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1828:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_LDEXP (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (real_zerop (_p0))
    {
      {
/* #line 6789 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_503 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6793 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_380 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1829;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6798, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1829:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SCALBNF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (real_zerop (_p0))
    {
      {
/* #line 6789 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_503 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6793 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_380 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1830;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6798, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1830:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SCALBN (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (real_zerop (_p0))
    {
      {
/* #line 6789 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_503 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6793 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_380 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1831;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6798, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1831:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SCALBNL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (real_zerop (_p0))
    {
      {
/* #line 6789 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_503 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6793 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_380 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1832;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6798, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1832:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SCALBLNF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (real_zerop (_p0))
    {
      {
/* #line 6789 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_503 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6793 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_380 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1833;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6798, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1833:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SCALBLN (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (real_zerop (_p0))
    {
      {
/* #line 6789 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_503 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6793 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_380 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1834;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6798, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1834:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_SCALBLNL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  if (real_zerop (_p0))
    {
      {
/* #line 6789 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_503 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  if (integer_zerop (_p1))
    {
      {
/* #line 6793 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	if (gimple_simplify_380 (res_op, seq, valueize, type, captures))
	  return true;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case REAL_CST:
      {
	{
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 6797 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (!real_isfinite (TREE_REAL_CST_PTR (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1835;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 6798, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1835:;
	    }
	}
        break;
      }
    default:;
    }
  return false;
}

static bool
gimple_simplify_TRUTH_ORIF_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LE_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							switch (TREE_CODE (_q70))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q70))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case POINTER_PLUS_EXPR:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									tree _q81 = gimple_assign_rhs2 (_a4);
									_q81 = do_valueize (valueize, _q81);
									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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1836;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1836;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1836;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1836:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1837;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1837;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1837;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1837;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1837:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case GE_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
							  {
							    switch (TREE_CODE (_q71))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q71))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case POINTER_PLUS_EXPR:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    tree _q91 = gimple_assign_rhs2 (_a4);
									    _q91 = do_valueize (valueize, _q91);
									    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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1838;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1838;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1838;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1838:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1839;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1839;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1839;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1839;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1839:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LT_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							switch (TREE_CODE (_q70))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q70))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case POINTER_PLUS_EXPR:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									tree _q81 = gimple_assign_rhs2 (_a4);
									_q81 = do_valueize (valueize, _q81);
									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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1840;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1840;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1840;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1840:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1841;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1841;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1841;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1841;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1841:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case GT_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
							  {
							    switch (TREE_CODE (_q71))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q71))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case POINTER_PLUS_EXPR:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    tree _q91 = gimple_assign_rhs2 (_a4);
									    _q91 = do_valueize (valueize, _q91);
									    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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1842;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1842;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1842;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1842:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1843;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1843;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1843;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1843;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1843:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LE_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							switch (TREE_CODE (_q70))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q70))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case POINTER_PLUS_EXPR:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									tree _q81 = gimple_assign_rhs2 (_a4);
									_q81 = do_valueize (valueize, _q81);
									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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1844;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1844;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1844;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1844:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1845;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1845;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1845;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1845;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1845:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case GE_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
							  {
							    switch (TREE_CODE (_q71))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q71))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case POINTER_PLUS_EXPR:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    tree _q91 = gimple_assign_rhs2 (_a4);
									    _q91 = do_valueize (valueize, _q91);
									    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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1846;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1846;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1846;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1846:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1847;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1847;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1847;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1847;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1847:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LT_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							switch (TREE_CODE (_q70))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q70))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case POINTER_PLUS_EXPR:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									tree _q81 = gimple_assign_rhs2 (_a4);
									_q81 = do_valueize (valueize, _q81);
									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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1848;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1848;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1848;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1848:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1849;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1849;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1849;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1849;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1849:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case GT_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
							  {
							    switch (TREE_CODE (_q71))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q71))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case POINTER_PLUS_EXPR:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    tree _q91 = gimple_assign_rhs2 (_a4);
									    _q91 = do_valueize (valueize, _q91);
									    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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1850;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1850;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1850;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1850:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1851;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1851;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1851;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1851;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1851:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_TRUTH_OR_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LE_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							switch (TREE_CODE (_q70))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q70))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case POINTER_PLUS_EXPR:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									tree _q81 = gimple_assign_rhs2 (_a4);
									_q81 = do_valueize (valueize, _q81);
									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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1852;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1852;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1852;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1852:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1853;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1853;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1853;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1853;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1853:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case GE_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
							  {
							    switch (TREE_CODE (_q71))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q71))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case POINTER_PLUS_EXPR:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    tree _q91 = gimple_assign_rhs2 (_a4);
									    _q91 = do_valueize (valueize, _q91);
									    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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1854;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1854;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1854;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1854:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1855;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1855;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1855;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1855;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1855:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  switch (TREE_CODE (_q31))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LT_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							switch (TREE_CODE (_q70))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q70))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case POINTER_PLUS_EXPR:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									tree _q81 = gimple_assign_rhs2 (_a4);
									_q81 = do_valueize (valueize, _q81);
									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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1856;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1856;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1856;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1856:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1857;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1857;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1857;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1857;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1857:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case GT_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
							  {
							    switch (TREE_CODE (_q71))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q71))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case POINTER_PLUS_EXPR:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    tree _q91 = gimple_assign_rhs2 (_a4);
									    _q91 = do_valueize (valueize, _q91);
									    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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1858;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1858;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1858;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1858:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1859;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1859;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1859;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1859;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1859:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LE_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							switch (TREE_CODE (_q70))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q70))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case POINTER_PLUS_EXPR:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									tree _q81 = gimple_assign_rhs2 (_a4);
									_q81 = do_valueize (valueize, _q81);
									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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1860;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1860;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1860;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1860:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1861;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1861;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1861;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1861;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1861:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case GE_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
							  {
							    switch (TREE_CODE (_q71))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q71))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case POINTER_PLUS_EXPR:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    tree _q91 = gimple_assign_rhs2 (_a4);
									    _q91 = do_valueize (valueize, _q91);
									    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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1862;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1862;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1862;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1862:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1863;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1863;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1863;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1863;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1863:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q21))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q21))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case POINTER_PLUS_EXPR:
			        {
				  tree _q40 = gimple_assign_rhs1 (_a2);
				  _q40 = do_valueize (valueize, _q40);
				  tree _q41 = gimple_assign_rhs2 (_a2);
				  _q41 = do_valueize (valueize, _q41);
				  switch (TREE_CODE (_q41))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case LT_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							switch (TREE_CODE (_q70))
							  {
							  case SSA_NAME:
							    if (gimple *_d4 = get_def (valueize, _q70))
							      {
								if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								  switch (gimple_assign_rhs_code (_a4))
								    {
								    case POINTER_PLUS_EXPR:
								      {
									tree _q80 = gimple_assign_rhs1 (_a4);
									_q80 = do_valueize (valueize, _q80);
									tree _q81 = gimple_assign_rhs2 (_a4);
									_q81 = do_valueize (valueize, _q81);
									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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1864;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1864;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1864;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1864:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1865;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1865;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1865;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1865;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1865:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									  }
								        break;
								      }
								    default:;
								    }
							      }
							    break;
						          default:;
						          }
						        break;
						      }
						    case GT_EXPR:
						      {
							tree _q70 = gimple_assign_rhs1 (_a3);
							_q70 = do_valueize (valueize, _q70);
							tree _q71 = gimple_assign_rhs2 (_a3);
							_q71 = do_valueize (valueize, _q71);
							if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
							  {
							    switch (TREE_CODE (_q71))
							      {
							      case SSA_NAME:
							        if (gimple *_d4 = get_def (valueize, _q71))
							          {
								    if (gassign *_a4 = dyn_cast <gassign *> (_d4))
								      switch (gimple_assign_rhs_code (_a4))
									{
									case POINTER_PLUS_EXPR:
									  {
									    tree _q90 = gimple_assign_rhs1 (_a4);
									    _q90 = do_valueize (valueize, _q90);
									    tree _q91 = gimple_assign_rhs2 (_a4);
									    _q91 = do_valueize (valueize, _q91);
									    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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
											      if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
)
												{
												  {
/* #line 8087 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
												      if (cmp == LT_EXPR
)
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1866;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8090, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      tree _o1[1], _r1;
													      {
														tree _o2[2], _r2;
														_o2[0] =  swap_p ? captures[6] : captures[1];
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1866;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1866;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1866:;
													}
												      else
													{
													  gimple_seq *lseq = seq;
													  if (lseq
													      && (!single_use (captures[0])
													          || !single_use (captures[5])))
													    lseq = NULL;
													  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1867;
													  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8094, __FILE__, __LINE__);
													  {
													    res_op->set_op (GT_EXPR, type, 2);
													    {
													      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);
														  gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
														  tem_op.resimplify (lseq, valueize);
														  _r3 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r3) goto next_after_fail1867;
														  _o2[0] = _r3;
														}
														_o2[1] =  swap_p ? captures[2] : captures[4];
														gimple_match_op tem_op (res_op->cond.any_else (), POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
														tem_op.resimplify (lseq, valueize);
														_r2 = maybe_push_res_to_seq (&tem_op, lseq);
														if (!_r2) goto next_after_fail1867;
														_o1[0] = _r2;
													      }
													      if (sizetype != TREE_TYPE (_o1[0])
													          && !useless_type_conversion_p (sizetype, TREE_TYPE (_o1[0])))
														{
														  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, sizetype, _o1[0]);
														  tem_op.resimplify (lseq, valueize);
														  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
														  if (!_r1) goto next_after_fail1867;
													        }
													      else
													        _r1 = _o1[0];
													      res_op->ops[0] = _r1;
													    }
													    res_op->ops[1] =  rhs_tree;
													    res_op->resimplify (lseq, valueize);
													    return true;
													  }
next_after_fail1867:;
													}
												  }
												}
											  }
											}
										    }
										  }
									      }
									    break;
									  }
									default:;
									}
							          }
							        break;
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper code, const tree type, tree _p0, tree _p1)
{
  switch (code.get_rep())
    {
    case BIT_XOR_EXPR:
      return gimple_simplify_BIT_XOR_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case PLUS_EXPR:
      return gimple_simplify_PLUS_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case POINTER_PLUS_EXPR:
      return gimple_simplify_POINTER_PLUS_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case MINUS_EXPR:
      return gimple_simplify_MINUS_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case BIT_IOR_EXPR:
      return gimple_simplify_BIT_IOR_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case POINTER_DIFF_EXPR:
      return gimple_simplify_POINTER_DIFF_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case MULT_EXPR:
      return gimple_simplify_MULT_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case EQ_EXPR:
      return gimple_simplify_EQ_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case NE_EXPR:
      return gimple_simplify_NE_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_COPYSIGNF:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGNF (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_COPYSIGN:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGN (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_COPYSIGNL:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGNL (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_COPYSIGNF16:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGNF16 (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_COPYSIGNF32:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGNF32 (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_COPYSIGNF64:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGNF64 (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_COPYSIGNF128:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGNF128 (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_COPYSIGNF32X:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGNF32X (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_COPYSIGNF64X:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGNF64X (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_COPYSIGNF128X:
      return gimple_simplify_CFN_BUILT_IN_COPYSIGNF128X (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_COPYSIGN:
      return gimple_simplify_CFN_COPYSIGN (res_op, seq, valueize, code, type, _p0, _p1);
    case TRUNC_DIV_EXPR:
      return gimple_simplify_TRUNC_DIV_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case CEIL_DIV_EXPR:
      return gimple_simplify_CEIL_DIV_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case FLOOR_DIV_EXPR:
      return gimple_simplify_FLOOR_DIV_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case ROUND_DIV_EXPR:
      return gimple_simplify_ROUND_DIV_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case EXACT_DIV_EXPR:
      return gimple_simplify_EXACT_DIV_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case FLOOR_MOD_EXPR:
      return gimple_simplify_FLOOR_MOD_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case RDIV_EXPR:
      return gimple_simplify_RDIV_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case LT_EXPR:
      return gimple_simplify_LT_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case LE_EXPR:
      return gimple_simplify_LE_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case GT_EXPR:
      return gimple_simplify_GT_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case GE_EXPR:
      return gimple_simplify_GE_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case CEIL_MOD_EXPR:
      return gimple_simplify_CEIL_MOD_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case ROUND_MOD_EXPR:
      return gimple_simplify_ROUND_MOD_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case TRUNC_MOD_EXPR:
      return gimple_simplify_TRUNC_MOD_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case LSHIFT_EXPR:
      return gimple_simplify_LSHIFT_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case RSHIFT_EXPR:
      return gimple_simplify_RSHIFT_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_POWF:
      return gimple_simplify_CFN_BUILT_IN_POWF (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_POW:
      return gimple_simplify_CFN_BUILT_IN_POW (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_POWL:
      return gimple_simplify_CFN_BUILT_IN_POWL (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_POW:
      return gimple_simplify_CFN_POW (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_POWIF:
      return gimple_simplify_CFN_BUILT_IN_POWIF (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_POWI:
      return gimple_simplify_CFN_BUILT_IN_POWI (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_POWIL:
      return gimple_simplify_CFN_BUILT_IN_POWIL (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_HYPOTF:
      return gimple_simplify_CFN_BUILT_IN_HYPOTF (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_HYPOT:
      return gimple_simplify_CFN_BUILT_IN_HYPOT (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_HYPOTL:
      return gimple_simplify_CFN_BUILT_IN_HYPOTL (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_HYPOT:
      return gimple_simplify_CFN_HYPOT (res_op, seq, valueize, code, type, _p0, _p1);
    case BIT_AND_EXPR:
      return gimple_simplify_BIT_AND_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case MIN_EXPR:
      return gimple_simplify_MIN_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case MAX_EXPR:
      return gimple_simplify_MAX_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMINF:
      return gimple_simplify_CFN_BUILT_IN_FMINF (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMIN:
      return gimple_simplify_CFN_BUILT_IN_FMIN (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMINL:
      return gimple_simplify_CFN_BUILT_IN_FMINL (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMINF16:
      return gimple_simplify_CFN_BUILT_IN_FMINF16 (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMINF32:
      return gimple_simplify_CFN_BUILT_IN_FMINF32 (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMINF64:
      return gimple_simplify_CFN_BUILT_IN_FMINF64 (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMINF128:
      return gimple_simplify_CFN_BUILT_IN_FMINF128 (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMINF32X:
      return gimple_simplify_CFN_BUILT_IN_FMINF32X (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMINF64X:
      return gimple_simplify_CFN_BUILT_IN_FMINF64X (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMINF128X:
      return gimple_simplify_CFN_BUILT_IN_FMINF128X (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_FMIN:
      return gimple_simplify_CFN_FMIN (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMAXF:
      return gimple_simplify_CFN_BUILT_IN_FMAXF (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMAX:
      return gimple_simplify_CFN_BUILT_IN_FMAX (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMAXL:
      return gimple_simplify_CFN_BUILT_IN_FMAXL (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMAXF16:
      return gimple_simplify_CFN_BUILT_IN_FMAXF16 (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMAXF32:
      return gimple_simplify_CFN_BUILT_IN_FMAXF32 (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMAXF64:
      return gimple_simplify_CFN_BUILT_IN_FMAXF64 (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMAXF128:
      return gimple_simplify_CFN_BUILT_IN_FMAXF128 (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMAXF32X:
      return gimple_simplify_CFN_BUILT_IN_FMAXF32X (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMAXF64X:
      return gimple_simplify_CFN_BUILT_IN_FMAXF64X (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_FMAXF128X:
      return gimple_simplify_CFN_BUILT_IN_FMAXF128X (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_FMAX:
      return gimple_simplify_CFN_FMAX (res_op, seq, valueize, code, type, _p0, _p1);
    case LROTATE_EXPR:
      return gimple_simplify_LROTATE_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case RROTATE_EXPR:
      return gimple_simplify_RROTATE_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case COMPLEX_EXPR:
      return gimple_simplify_COMPLEX_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case UNORDERED_EXPR:
      return gimple_simplify_UNORDERED_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case ORDERED_EXPR:
      return gimple_simplify_ORDERED_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case UNLT_EXPR:
      return gimple_simplify_UNLT_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case UNLE_EXPR:
      return gimple_simplify_UNLE_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case UNGT_EXPR:
      return gimple_simplify_UNGT_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case UNGE_EXPR:
      return gimple_simplify_UNGE_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case UNEQ_EXPR:
      return gimple_simplify_UNEQ_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case LTGT_EXPR:
      return gimple_simplify_LTGT_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_ADD_OVERFLOW:
      return gimple_simplify_CFN_ADD_OVERFLOW (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_SUB_OVERFLOW:
      return gimple_simplify_CFN_SUB_OVERFLOW (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_MUL_OVERFLOW:
      return gimple_simplify_CFN_MUL_OVERFLOW (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_LDEXPF:
      return gimple_simplify_CFN_BUILT_IN_LDEXPF (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_LDEXP:
      return gimple_simplify_CFN_BUILT_IN_LDEXP (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_LDEXPL:
      return gimple_simplify_CFN_BUILT_IN_LDEXPL (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_LDEXP:
      return gimple_simplify_CFN_LDEXP (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_SCALBNF:
      return gimple_simplify_CFN_BUILT_IN_SCALBNF (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_SCALBN:
      return gimple_simplify_CFN_BUILT_IN_SCALBN (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_SCALBNL:
      return gimple_simplify_CFN_BUILT_IN_SCALBNL (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_SCALBLNF:
      return gimple_simplify_CFN_BUILT_IN_SCALBLNF (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_SCALBLN:
      return gimple_simplify_CFN_BUILT_IN_SCALBLN (res_op, seq, valueize, code, type, _p0, _p1);
    case -CFN_BUILT_IN_SCALBLNL:
      return gimple_simplify_CFN_BUILT_IN_SCALBLNL (res_op, seq, valueize, code, type, _p0, _p1);
    case TRUTH_ORIF_EXPR:
      return gimple_simplify_TRUTH_ORIF_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    case TRUTH_OR_EXPR:
      return gimple_simplify_TRUTH_OR_EXPR (res_op, seq, valueize, code, type, _p0, _p1);
    default:;
    }
  return false;
}

static bool
gimple_simplify_COND_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case NEGATE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
						    if (gimple_simplify_70 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (gimple_zero_one_valued_p (_q20, valueize))
		    {
		      if (integer_zerop (_q21))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case BIT_XOR_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  tree _q61 = gimple_assign_rhs2 (_a2);
					  _q61 = do_valueize (valueize, _q61);
					  if (tree_swap_operands_p (_q60, _q61))
					    std::swap (_q60, _q61);
					  if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
					    {
					      {
/* #line 3642 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
						if (gimple_simplify_408 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
						  return true;
					      }
					    }
					  if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
					    {
					      {
/* #line 3642 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
						if (gimple_simplify_408 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      case BIT_IOR_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  tree _q61 = gimple_assign_rhs2 (_a2);
					  _q61 = do_valueize (valueize, _q61);
					  if (tree_swap_operands_p (_q60, _q61))
					    std::swap (_q60, _q61);
					  if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
					    {
					      {
/* #line 3642 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
						if (gimple_simplify_408 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
						  return true;
					      }
					    }
					  if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
					    {
					      {
/* #line 3642 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
						if (gimple_simplify_408 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  if (gimple_zero_one_valued_p (_q20, valueize))
		    {
		      if (integer_zerop (_q21))
			{
			  switch (TREE_CODE (_p1))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p1))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case BIT_XOR_EXPR:
				        {
					  tree _q50 = gimple_assign_rhs1 (_a2);
					  _q50 = do_valueize (valueize, _q50);
					  tree _q51 = gimple_assign_rhs2 (_a2);
					  _q51 = do_valueize (valueize, _q51);
					  if (tree_swap_operands_p (_q50, _q51))
					    std::swap (_q50, _q51);
					  if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
					    {
					      {
/* #line 3654 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
						if (gimple_simplify_281 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
						  return true;
					      }
					    }
					  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
					    {
					      {
/* #line 3654 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
						if (gimple_simplify_281 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      case BIT_IOR_EXPR:
				        {
					  tree _q50 = gimple_assign_rhs1 (_a2);
					  _q50 = do_valueize (valueize, _q50);
					  tree _q51 = gimple_assign_rhs2 (_a2);
					  _q51 = do_valueize (valueize, _q51);
					  if (tree_swap_operands_p (_q50, _q51))
					    std::swap (_q50, _q51);
					  if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
					    {
					      {
/* #line 3654 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
						if (gimple_simplify_281 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
						  return true;
					      }
					    }
					  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
					    {
					      {
/* #line 3654 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
						if (gimple_simplify_281 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		if (integer_zerop (_q21))
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p1))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				case NEGATE_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a1);
				    _q50 = do_valueize (valueize, _q50);
				    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
						  if (gimple_simplify_70 (res_op, seq, valueize, type, captures))
						    return true;
						}
					      }
					  }
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
	      }
	  }
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		if (tree_swap_operands_p (_q20, _q21))
		  std::swap (_q20, _q21);
		if (gimple_zero_one_valued_p (_q20, valueize))
		  {
		    if (integer_zerop (_q21))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case SSA_NAME:
			    if (gimple *_d1 = get_def (valueize, _p2))
			      {
				if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				  switch (gimple_assign_rhs_code (_a1))
				    {
				    case BIT_XOR_EXPR:
				      {
					tree _q60 = gimple_assign_rhs1 (_a1);
					_q60 = do_valueize (valueize, _q60);
					tree _q61 = gimple_assign_rhs2 (_a1);
					_q61 = do_valueize (valueize, _q61);
					if (tree_swap_operands_p (_q60, _q61))
					  std::swap (_q60, _q61);
					if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
					  {
					    {
/* #line 3642 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
					      if (gimple_simplify_408 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
					        return true;
					    }
					  }
					if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
					  {
					    {
/* #line 3642 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
					      if (gimple_simplify_408 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    case BIT_IOR_EXPR:
				      {
					tree _q60 = gimple_assign_rhs1 (_a1);
					_q60 = do_valueize (valueize, _q60);
					tree _q61 = gimple_assign_rhs2 (_a1);
					_q61 = do_valueize (valueize, _q61);
					if (tree_swap_operands_p (_q60, _q61))
					  std::swap (_q60, _q61);
					if ((_q61 == _p1 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _p1, 0) && types_match (_q61, _p1)))
					  {
					    {
/* #line 3642 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q60 };
					      if (gimple_simplify_408 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					        return true;
					    }
					  }
					if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
					  {
					    {
/* #line 3642 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q61 };
					      if (gimple_simplify_408 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		  }
	      }
	  }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		if (tree_swap_operands_p (_q20, _q21))
		  std::swap (_q20, _q21);
		if (gimple_zero_one_valued_p (_q20, valueize))
		  {
		    if (integer_zerop (_q21))
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d1 = get_def (valueize, _p1))
			      {
				if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				  switch (gimple_assign_rhs_code (_a1))
				    {
				    case BIT_XOR_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a1);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a1);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
					  {
					    {
/* #line 3654 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
					      if (gimple_simplify_281 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
					        return true;
					    }
					  }
					if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
					  {
					    {
/* #line 3654 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
					      if (gimple_simplify_281 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    case BIT_IOR_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a1);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a1);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					if ((_p2 == _q51 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q51, 0) && types_match (_p2, _q51)))
					  {
					    {
/* #line 3654 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _q51 };
					      if (gimple_simplify_281 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					        return true;
					    }
					  }
					if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
					  {
					    {
/* #line 3654 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _q50 };
					      if (gimple_simplify_281 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		  }
	      }
	  }
        break;
      }
    case INTEGER_CST:
      {
	{
/* #line 4461 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4461 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (integer_zerop (captures[0])
)
	    {
/* #line 4462 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (!VOID_TYPE_P (TREE_TYPE (captures[2])) || VOID_TYPE_P (type)
)
		{
		  gimple_seq *lseq = seq;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1868;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4463, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[2];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1868:;
		}
	    }
	  else
	    {
/* #line 4464 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (!VOID_TYPE_P (TREE_TYPE (captures[1])) || VOID_TYPE_P (type)
)
		{
		  gimple_seq *lseq = seq;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1869;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4465, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[1];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1869:;
		}
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case INTEGER_CST:
      {
	switch (TREE_CODE (_p2))
	  {
	  case INTEGER_CST:
	    {
	      {
/* #line 4659 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4659 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		if (integer_zerop (captures[2])
)
		  {
/* #line 4662 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (integer_onep (captures[1])
)
		      {
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1870;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4663, __FILE__, __LINE__);
			{
			  res_op->set_op (NOP_EXPR, type, 1);
			  {
			    tree _o1[1], _r1;
			    _o1[0] = captures[0];
			    if (COMPARISON_CLASS_P (_o1[0]))
			      {
			        if (!seq) return false;
			        _o1[0] = gimple_build (seq, TREE_CODE (_o1[0]), TREE_TYPE (_o1[0]), TREE_OPERAND (_o1[0], 0), TREE_OPERAND (_o1[0], 1));
			      }
			    if (boolean_type_node != TREE_TYPE (_o1[0])
			        && !useless_type_conversion_p (boolean_type_node, TREE_TYPE (_o1[0])))
			      {
				gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, boolean_type_node, _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1870;
			      }
			    else
			      _r1 = _o1[0];
			    res_op->ops[0] = _r1;
			  }
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1870:;
		      }
		    else
		      {
/* #line 4665 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (INTEGRAL_TYPE_P (type) && integer_pow2p (captures[1])
)
			  {
			    {
/* #line 4666 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree shift = build_int_cst (integer_type_node, tree_log2 (captures[1]));
				gimple_seq *lseq = seq;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1871;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4669, __FILE__, __LINE__);
				{
				  res_op->set_op (LSHIFT_EXPR, type, 2);
				  {
				    tree _o1[1], _r1;
				    {
				      tree _o2[1], _r2;
				      _o2[0] = captures[0];
				      if (COMPARISON_CLASS_P (_o2[0]))
				        {
				          if (!seq) return false;
				          _o2[0] = gimple_build (seq, TREE_CODE (_o2[0]), TREE_TYPE (_o2[0]), TREE_OPERAND (_o2[0], 0), TREE_OPERAND (_o2[0], 1));
				        }
				      if (boolean_type_node != TREE_TYPE (_o2[0])
				          && !useless_type_conversion_p (boolean_type_node, TREE_TYPE (_o2[0])))
					{
					  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, boolean_type_node, _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1871;
				        }
				      else
				        _r2 = _o2[0];
				      _o1[0] = _r2;
				    }
				    if (type != TREE_TYPE (_o1[0])
				        && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
				      {
					gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
					tem_op.resimplify (lseq, valueize);
					_r1 = maybe_push_res_to_seq (&tem_op, lseq);
					if (!_r1) goto next_after_fail1871;
				      }
				    else
				      _r1 = _o1[0];
				    res_op->ops[0] = _r1;
				  }
				  res_op->ops[1] =  shift;
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1871:;
			    }
			  }
			else
			  {
/* #line 4672 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    if (INTEGRAL_TYPE_P (type) && integer_all_onesp (captures[1])
)
			      {
				gimple_seq *lseq = seq;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1872;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4673, __FILE__, __LINE__);
				{
				  res_op->set_op (NEGATE_EXPR, type, 1);
				  {
				    tree _o1[1], _r1;
				    {
				      tree _o2[1], _r2;
				      _o2[0] = captures[0];
				      if (COMPARISON_CLASS_P (_o2[0]))
				        {
				          if (!seq) return false;
				          _o2[0] = gimple_build (seq, TREE_CODE (_o2[0]), TREE_TYPE (_o2[0]), TREE_OPERAND (_o2[0], 0), TREE_OPERAND (_o2[0], 1));
				        }
				      if (boolean_type_node != TREE_TYPE (_o2[0])
				          && !useless_type_conversion_p (boolean_type_node, TREE_TYPE (_o2[0])))
					{
					  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, boolean_type_node, _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1872;
				        }
				      else
				        _r2 = _o2[0];
				      _o1[0] = _r2;
				    }
				    if (type != TREE_TYPE (_o1[0])
				        && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
				      {
					gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
					tem_op.resimplify (lseq, valueize);
					_r1 = maybe_push_res_to_seq (&tem_op, lseq);
					if (!_r1) goto next_after_fail1872;
				      }
				    else
				      _r1 = _o1[0];
				    res_op->ops[0] = _r1;
				  }
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1872:;
			      }
			  }
		      }
		  }
		else
		  {
/* #line 4674 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (integer_zerop (captures[1])
)
		      {
			{
/* #line 4675 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree booltrue = constant_boolean_node (true, boolean_type_node);
/* #line 4680 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    if (integer_onep (captures[2])
)
			      {
				gimple_seq *lseq = seq;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1873;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4681, __FILE__, __LINE__);
				{
				  res_op->set_op (NOP_EXPR, type, 1);
				  {
				    tree _o1[2], _r1;
				    {
				      tree _o2[1], _r2;
				      _o2[0] = captures[0];
				      if (COMPARISON_CLASS_P (_o2[0]))
				        {
				          if (!seq) return false;
				          _o2[0] = gimple_build (seq, TREE_CODE (_o2[0]), TREE_TYPE (_o2[0]), TREE_OPERAND (_o2[0], 0), TREE_OPERAND (_o2[0], 1));
				        }
				      if (boolean_type_node != TREE_TYPE (_o2[0])
				          && !useless_type_conversion_p (boolean_type_node, TREE_TYPE (_o2[0])))
					{
					  gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, boolean_type_node, _o2[0]);
					  tem_op.resimplify (lseq, valueize);
					  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r2) goto next_after_fail1873;
				        }
				      else
				        _r2 = _o2[0];
				      _o1[0] = _r2;
				    }
				    _o1[1] =  booltrue;
				    gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				    tem_op.resimplify (lseq, valueize);
				    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				    if (!_r1) goto next_after_fail1873;
				    res_op->ops[0] = _r1;
				  }
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1873:;
			      }
			    else
			      {
/* #line 4683 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				if (INTEGRAL_TYPE_P (type) && integer_pow2p (captures[2])
)
				  {
				    {
/* #line 4684 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree shift = build_int_cst (integer_type_node, tree_log2 (captures[2]));
					gimple_seq *lseq = seq;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1874;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4687, __FILE__, __LINE__);
					{
					  res_op->set_op (LSHIFT_EXPR, type, 2);
					  {
					    tree _o1[1], _r1;
					    {
					      tree _o2[2], _r2;
					      {
						tree _o3[1], _r3;
						_o3[0] = captures[0];
						if (COMPARISON_CLASS_P (_o3[0]))
						  {
						    if (!seq) return false;
						    _o3[0] = gimple_build (seq, TREE_CODE (_o3[0]), TREE_TYPE (_o3[0]), TREE_OPERAND (_o3[0], 0), TREE_OPERAND (_o3[0], 1));
						  }
						if (boolean_type_node != TREE_TYPE (_o3[0])
						    && !useless_type_conversion_p (boolean_type_node, TREE_TYPE (_o3[0])))
						  {
						    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, boolean_type_node, _o3[0]);
						    tem_op.resimplify (lseq, valueize);
						    _r3 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r3) goto next_after_fail1874;
						  }
						else
						  _r3 = _o3[0];
						_o2[0] = _r3;
					      }
					      _o2[1] =  booltrue;
					      gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
					      tem_op.resimplify (lseq, valueize);
					      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r2) goto next_after_fail1874;
					      _o1[0] = _r2;
					    }
					    if (type != TREE_TYPE (_o1[0])
					        && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
					      {
						gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1874;
					      }
					    else
					      _r1 = _o1[0];
					    res_op->ops[0] = _r1;
					  }
					  res_op->ops[1] =  shift;
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1874:;
				    }
				  }
				else
				  {
/* #line 4691 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    if (INTEGRAL_TYPE_P (type) && integer_all_onesp (captures[2])
)
				      {
					gimple_seq *lseq = seq;
					if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1875;
					if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4692, __FILE__, __LINE__);
					{
					  res_op->set_op (NEGATE_EXPR, type, 1);
					  {
					    tree _o1[1], _r1;
					    {
					      tree _o2[2], _r2;
					      {
						tree _o3[1], _r3;
						_o3[0] = captures[0];
						if (COMPARISON_CLASS_P (_o3[0]))
						  {
						    if (!seq) return false;
						    _o3[0] = gimple_build (seq, TREE_CODE (_o3[0]), TREE_TYPE (_o3[0]), TREE_OPERAND (_o3[0], 0), TREE_OPERAND (_o3[0], 1));
						  }
						if (boolean_type_node != TREE_TYPE (_o3[0])
						    && !useless_type_conversion_p (boolean_type_node, TREE_TYPE (_o3[0])))
						  {
						    gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, boolean_type_node, _o3[0]);
						    tem_op.resimplify (lseq, valueize);
						    _r3 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r3) goto next_after_fail1875;
						  }
						else
						  _r3 = _o3[0];
						_o2[0] = _r3;
					      }
					      _o2[1] =  booltrue;
					      gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
					      tem_op.resimplify (lseq, valueize);
					      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r2) goto next_after_fail1875;
					      _o1[0] = _r2;
					    }
					    if (type != TREE_TYPE (_o1[0])
					        && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
					      {
						gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
						tem_op.resimplify (lseq, valueize);
						_r1 = maybe_push_res_to_seq (&tem_op, lseq);
						if (!_r1) goto next_after_fail1875;
					      }
					    else
					      _r1 = _o1[0];
					    res_op->ops[0] = _r1;
					  }
					  res_op->resimplify (lseq, valueize);
					  return true;
					}
next_after_fail1875:;
				      }
				  }
			      }
			}
		      }
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LT_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
							  }
						        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case PLUS_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (tree_swap_operands_p (_q60, _q61))
							  std::swap (_q60, _q61);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LT_EXPR, PLUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    case MINUS_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LT_EXPR, MINUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  }
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case PLUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LT_EXPR, PLUS_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case MINUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LT_EXPR, MINUS_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
			  tree _q21_pops[1];
			  if (gimple_nop_convert (_q21, _q21_pops, valueize))
			    {
			      tree _q50 = _q21_pops[0];
			      switch (TREE_CODE (_p1))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _p1))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  CASE_CONVERT:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
							  return true;
						      }
						    }
					        }
					      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
							  return true;
						      }
						    }
					        }
					      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 SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
			        }
			      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				{
				  switch (TREE_CODE (_p2))
				    {
				    case SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
			        }
}
			}
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
						    return true;
						}
					      }
					  }
				        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 SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
					      return true;
					  }
				        }
				    }
			          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 SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
			      return true;
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LE_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
							  }
						        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case PLUS_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (tree_swap_operands_p (_q60, _q61))
							  std::swap (_q60, _q61);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LE_EXPR, PLUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    case MINUS_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LE_EXPR, MINUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  }
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case PLUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LE_EXPR, PLUS_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case MINUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LE_EXPR, MINUS_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
			  tree _q21_pops[1];
			  if (gimple_nop_convert (_q21, _q21_pops, valueize))
			    {
			      tree _q50 = _q21_pops[0];
			      switch (TREE_CODE (_p1))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _p1))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  CASE_CONVERT:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
							  return true;
						      }
						    }
					        }
					      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
							  return true;
						      }
						    }
					        }
					      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 SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
			        }
			      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				{
				  switch (TREE_CODE (_p2))
				    {
				    case SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
			        }
}
			}
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
						    return true;
						}
					      }
					  }
				        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 SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				        }
				    }
			          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 SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
			      return true;
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GT_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
							  }
						        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case PLUS_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (tree_swap_operands_p (_q60, _q61))
							  std::swap (_q60, _q61);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GT_EXPR, PLUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    case MINUS_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GT_EXPR, MINUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GT_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GT_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  }
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case PLUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GT_EXPR, PLUS_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case MINUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GT_EXPR, MINUS_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
			  tree _q21_pops[1];
			  if (gimple_nop_convert (_q21, _q21_pops, valueize))
			    {
			      tree _q50 = _q21_pops[0];
			      switch (TREE_CODE (_p1))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _p1))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  CASE_CONVERT:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
							  return true;
						      }
						    }
					        }
					      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
							  return true;
						      }
						    }
					        }
					      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 SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
					  return true;
				      }
				    }
			        }
			      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				{
				  switch (TREE_CODE (_p2))
				    {
				    case SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
					  return true;
				      }
				    }
			        }
}
			}
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
						    return true;
						}
					      }
					  }
				        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 SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				        }
				    }
			          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 SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
			      return true;
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
			      return true;
			  }
		        }
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case PLUS_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  if (integer_onep (_q31))
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p1))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  case NEGATE_EXPR:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								if (gimple_simplify_102 (res_op, seq, valueize, type, captures))
								  return true;
							      }
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GE_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
							  }
						        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    case PLUS_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							if (tree_swap_operands_p (_q60, _q61))
							  std::swap (_q60, _q61);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GE_EXPR, PLUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    case MINUS_EXPR:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							tree _q61 = gimple_assign_rhs2 (_a3);
							_q61 = do_valueize (valueize, _q61);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									  tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GE_EXPR, MINUS_EXPR))
									    return true;
									}
								        break;
								      }
								    default:;
								    }
							          break;
							        }
							      default:;
							      }
							  }
						        break;
						      }
						    default:;
						    }
					      }
					    break;
				          default:;
				          }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GE_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GE_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  }
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case PLUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GE_EXPR, PLUS_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case MINUS_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_assign_rhs2 (_a2);
					_q51 = do_valueize (valueize, _q51);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							  if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GE_EXPR, MINUS_EXPR))
							    return true;
							}
						        break;
						      }
						    default:;
						    }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
			  tree _q21_pops[1];
			  if (gimple_nop_convert (_q21, _q21_pops, valueize))
			    {
			      tree _q50 = _q21_pops[0];
			      switch (TREE_CODE (_p1))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _p1))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  CASE_CONVERT:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
							  return true;
						      }
						    }
					        }
					      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
							  return true;
						      }
						    }
					        }
					      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 SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
					  return true;
				      }
				    }
			        }
			      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				{
				  switch (TREE_CODE (_p2))
				    {
				    case SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
					  return true;
				      }
				    }
			        }
}
			}
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
						    return true;
						}
					      }
					  }
				        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 SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
					      return true;
					  }
				        }
				    }
			          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 SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
			      return true;
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  switch (TREE_CODE (_q21))
				    {
				    case INTEGER_CST:
				      {
					switch (TREE_CODE (_p1))
					  {
					  case SSA_NAME:
					    if (gimple *_d3 = get_def (valueize, _p1))
					      {
						if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						  switch (gimple_assign_rhs_code (_a3))
						    {
						    CASE_CONVERT:
						      {
							tree _q60 = gimple_assign_rhs1 (_a3);
							_q60 = do_valueize (valueize, _q60);
							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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, EQ_EXPR))
								      return true;
								  }
							          break;
							        }
							      default:;
							      }
							  }
						        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, EQ_EXPR))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				    if (gimple_simplify_398 (res_op, seq, valueize, type, captures, EQ_EXPR))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
			  }
		        break;
		      }
		    default:;
		    }
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
			  tree _q21_pops[1];
			  if (gimple_nop_convert (_q21, _q21_pops, valueize))
			    {
			      tree _q50 = _q21_pops[0];
			      switch (TREE_CODE (_p1))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _p1))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  CASE_CONVERT:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
					        }
					      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
					        }
					      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 SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			        }
			      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				{
				  switch (TREE_CODE (_p2))
				    {
				    case SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
					  return true;
				      }
				    }
			        }
}
			}
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
						    return true;
						}
					      }
					  }
				        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 SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				    }
			          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 SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
			      return true;
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
			  tree _q21_pops[1];
			  if (gimple_nop_convert (_q21, _q21_pops, valueize))
			    {
			      tree _q50 = _q21_pops[0];
			      switch (TREE_CODE (_p1))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _p1))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  CASE_CONVERT:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
					        }
					      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
					        }
					      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 SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			        }
			      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				{
				  switch (TREE_CODE (_p2))
				    {
				    case SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
					  return true;
				      }
				    }
			        }
}
			}
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
						    return true;
						}
					      }
					  }
				        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 SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				    }
			          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 SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
			      return true;
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
			      return true;
			  }
		        }
		    }
		  switch (TREE_CODE (_q21))
		    {
		    case INTEGER_CST:
		      {
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
						    if (gimple_simplify_427 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    case BIT_NOT_EXPR:
				      {
					tree _q50 = gimple_assign_rhs1 (_a2);
					_q50 = do_valueize (valueize, _q50);
					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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
						    if (gimple_simplify_396 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					          break;
					        }
					      default:;
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      case UNLE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
			  tree _q21_pops[1];
			  if (gimple_nop_convert (_q21, _q21_pops, valueize))
			    {
			      tree _q50 = _q21_pops[0];
			      switch (TREE_CODE (_p1))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _p1))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  CASE_CONVERT:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
							  return true;
						      }
						    }
					        }
					      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
							  return true;
						      }
						    }
					        }
					      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 SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
					  return true;
				      }
				    }
			        }
			      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				{
				  switch (TREE_CODE (_p2))
				    {
				    case SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
					  return true;
				      }
				    }
			        }
}
			}
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						    return true;
						}
					      }
					  }
				        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 SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
					      return true;
					  }
				        }
				    }
			          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 SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
			      return true;
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNLT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
			  tree _q21_pops[1];
			  if (gimple_nop_convert (_q21, _q21_pops, valueize))
			    {
			      tree _q50 = _q21_pops[0];
			      switch (TREE_CODE (_p1))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _p1))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  CASE_CONVERT:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
							  return true;
						      }
						    }
					        }
					      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
							  return true;
						      }
						    }
					        }
					      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 SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
					  return true;
				      }
				    }
			        }
			      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				{
				  switch (TREE_CODE (_p2))
				    {
				    case SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
					  return true;
				      }
				    }
			        }
}
			}
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						    return true;
						}
					      }
					  }
				        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 SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
					      return true;
					  }
				        }
				    }
			          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 SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
			      return true;
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNGE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
			  tree _q21_pops[1];
			  if (gimple_nop_convert (_q21, _q21_pops, valueize))
			    {
			      tree _q50 = _q21_pops[0];
			      switch (TREE_CODE (_p1))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _p1))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  CASE_CONVERT:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
							  return true;
						      }
						    }
					        }
					      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
							  return true;
						      }
						    }
					        }
					      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 SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
					  return true;
				      }
				    }
			        }
			      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				{
				  switch (TREE_CODE (_p2))
				    {
				    case SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
					  return true;
				      }
				    }
			        }
}
			}
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						    return true;
						}
					      }
					  }
				        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 SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
					      return true;
					  }
				        }
				    }
			          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 SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
			      return true;
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNGT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
			  tree _q21_pops[1];
			  if (gimple_nop_convert (_q21, _q21_pops, valueize))
			    {
			      tree _q50 = _q21_pops[0];
			      switch (TREE_CODE (_p1))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _p1))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  CASE_CONVERT:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
							  return true;
						      }
						    }
					        }
					      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
							  return true;
						      }
						    }
					        }
					      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 SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
					  return true;
				      }
				    }
			        }
			      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				{
				  switch (TREE_CODE (_p2))
				    {
				    case SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
					  return true;
				      }
				    }
			        }
}
			}
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						    return true;
						}
					      }
					  }
				        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 SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
					      return true;
					  }
				        }
				    }
			          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 SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
			      return true;
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case UNEQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
			  tree _q21_pops[1];
			  if (gimple_nop_convert (_q21, _q21_pops, valueize))
			    {
			      tree _q50 = _q21_pops[0];
			      switch (TREE_CODE (_p1))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _p1))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  CASE_CONVERT:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
							  return true;
						      }
						    }
					        }
					      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
							  return true;
						      }
						    }
					        }
					      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 SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					  return true;
				      }
				    }
			        }
			      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				{
				  switch (TREE_CODE (_p2))
				    {
				    case SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					  return true;
				      }
				    }
			        }
}
			}
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						    return true;
						}
					      }
					  }
				        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 SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					      return true;
					  }
				        }
				    }
			          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 SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
			      return true;
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      case LTGT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  {
		    tree _q20_pops[1];
		    if (gimple_nop_convert (_q20, _q20_pops, valueize))
		      {
			tree _q30 = _q20_pops[0];
			{
			  tree _q21_pops[1];
			  if (gimple_nop_convert (_q21, _q21_pops, valueize))
			    {
			      tree _q50 = _q21_pops[0];
			      switch (TREE_CODE (_p1))
			        {
				case SSA_NAME:
				  if (gimple *_d2 = get_def (valueize, _p1))
				    {
				      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				        switch (gimple_assign_rhs_code (_a2))
					  {
					  CASE_CONVERT:
					    {
					      tree _q70 = gimple_assign_rhs1 (_a2);
					      _q70 = do_valueize (valueize, _q70);
					      if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
							  return true;
						      }
						    }
					        }
					      if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
						{
						  switch (TREE_CODE (_p2))
						    {
						    case SSA_NAME:
						      if (gimple *_d3 = get_def (valueize, _p2))
						        {
							  if (gassign *_a3 = dyn_cast <gassign *> (_d3))
							    switch (gimple_assign_rhs_code (_a3))
							      {
							      CASE_CONVERT:
							        {
								  tree _q90 = gimple_assign_rhs1 (_a3);
								  _q90 = do_valueize (valueize, _q90);
								  if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								    {
								      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
									if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
									  return true;
								      }
								    }
							          break;
							        }
							      default:;
							      }
						        }
						      break;
						    default:;
						    }
						  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
							  return true;
						      }
						    }
					        }
					      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 SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
					  return true;
				      }
				    }
			        }
			      if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
				{
				  switch (TREE_CODE (_p2))
				    {
				    case SSA_NAME:
				      if (gimple *_d2 = get_def (valueize, _p2))
				        {
					  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					    switch (gimple_assign_rhs_code (_a2))
					      {
					      CASE_CONVERT:
					        {
						  tree _q80 = gimple_assign_rhs1 (_a2);
						  _q80 = do_valueize (valueize, _q80);
						  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						    {
						      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
							if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
							  return true;
						      }
						    }
					          break;
					        }
					      default:;
					      }
				        }
				      break;
				    default:;
				    }
				  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				    {
				      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
					if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
					  return true;
				      }
				    }
			        }
}
			}
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						    return true;
						}
					      }
					  }
				        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 SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  {
		    tree _q21_pops[1];
		    if (gimple_nop_convert (_q21, _q21_pops, valueize))
		      {
			tree _q40 = _q21_pops[0];
			switch (TREE_CODE (_p1))
			  {
			  case SSA_NAME:
			    if (gimple *_d2 = get_def (valueize, _p1))
			      {
				if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				  switch (gimple_assign_rhs_code (_a2))
				    {
				    CASE_CONVERT:
				      {
					tree _q60 = gimple_assign_rhs1 (_a2);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						    return true;
						}
					      }
					  }
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    switch (TREE_CODE (_p2))
					      {
					      case SSA_NAME:
					        if (gimple *_d3 = get_def (valueize, _p2))
					          {
						    if (gassign *_a3 = dyn_cast <gassign *> (_d3))
						      switch (gimple_assign_rhs_code (_a3))
							{
							CASE_CONVERT:
							  {
							    tree _q80 = gimple_assign_rhs1 (_a3);
							    _q80 = do_valueize (valueize, _q80);
							    if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							      {
								{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
								    return true;
								}
							      }
							    break;
							  }
							default:;
							}
					          }
					        break;
					      default:;
					      }
					    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						    return true;
						}
					      }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
			if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				  if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
				    return true;
				}
			      }
			  }
			if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			  {
			    switch (TREE_CODE (_p2))
			      {
			      case SSA_NAME:
			        if (gimple *_d2 = get_def (valueize, _p2))
			          {
				    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				      switch (gimple_assign_rhs_code (_a2))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a2);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					      {
						{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						    return true;
						}
					      }
					    break;
					  }
					default:;
					}
			          }
			        break;
			      default:;
			      }
			    if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			      {
				{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				  if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
				    return true;
				}
			      }
			  }
}
		  }
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      CASE_CONVERT:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
					      return true;
					  }
				        }
				    }
				  if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				    {
				      switch (TREE_CODE (_p2))
				        {
					case SSA_NAME:
					  if (gimple *_d3 = get_def (valueize, _p2))
					    {
					      if (gassign *_a3 = dyn_cast <gassign *> (_d3))
					        switch (gimple_assign_rhs_code (_a3))
						  {
						  CASE_CONVERT:
						    {
						      tree _q70 = gimple_assign_rhs1 (_a3);
						      _q70 = do_valueize (valueize, _q70);
						      if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
							{
							  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
							      return true;
							  }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
					      return true;
					  }
				        }
				    }
			          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 SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
			      return true;
			  }
		        }
		    }
		  if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		    {
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			{
			  {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			    if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
			      return true;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		switch (TREE_CODE (_q20))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _q20))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q30 = gimple_assign_rhs1 (_a1);
				_q30 = do_valueize (valueize, _q30);
				switch (TREE_CODE (_q21))
				  {
				  case INTEGER_CST:
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d2 = get_def (valueize, _p1))
					    {
					      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					        switch (gimple_assign_rhs_code (_a2))
						  {
						  CASE_CONVERT:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LT_EXPR))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						        }
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LT_EXPR))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d2 = get_def (valueize, _p1))
					    {
					      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					        switch (gimple_assign_rhs_code (_a2))
						  {
						  case PLUS_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      tree _q61 = gimple_assign_rhs2 (_a2);
						      _q61 = do_valueize (valueize, _q61);
						      if (tree_swap_operands_p (_q60, _q61))
						        std::swap (_q60, _q61);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LT_EXPR, PLUS_EXPR))
									  return true;
								      }
								      break;
								    }
							          default:;
							          }
							        break;
							      }
							    default:;
							    }
						        }
						      break;
						    }
						  case MINUS_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      tree _q61 = gimple_assign_rhs2 (_a2);
						      _q61 = do_valueize (valueize, _q61);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LT_EXPR, MINUS_EXPR))
									  return true;
								      }
								      break;
								    }
							          default:;
							          }
							        break;
							      }
							    default:;
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
		switch (TREE_CODE (_q21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LT_EXPR))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LT_EXPR))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  case PLUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a1);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LT_EXPR, PLUS_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a1);
				      _q51 = do_valueize (valueize, _q51);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LT_EXPR, MINUS_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      break;
		    }
	          default:;
	          }
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
			tree _q21_pops[1];
			if (gimple_nop_convert (_q21, _q21_pops, valueize))
			  {
			    tree _q50 = _q21_pops[0];
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d1 = get_def (valueize, _p1))
			          {
				    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				      switch (gimple_assign_rhs_code (_a1))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a1);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
						        return true;
						    }
						  }
					      }
					    if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
						        return true;
						    }
						  }
					      }
					    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 SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
				        return true;
				    }
				  }
			      }
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				switch (TREE_CODE (_p2))
				  {
				  case SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
				        return true;
				    }
				  }
			      }
}
		      }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
						  return true;
					      }
					    }
				        }
				      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 SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		{
		  tree _q21_pops[1];
		  if (gimple_nop_convert (_q21, _q21_pops, valueize))
		    {
		      tree _q40 = _q21_pops[0];
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		switch (TREE_CODE (_p1))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _p1))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q50 = gimple_assign_rhs1 (_a1);
				_q50 = do_valueize (valueize, _q50);
				if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
					    return true;
					}
				      }
				  }
				if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
					    return true;
					}
				      }
				  }
			        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 SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
			    return true;
			}
		      }
		  }
		if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		  {
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
			    return true;
			}
		      }
		  }
	      }
	  }
        break;
      }
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		switch (TREE_CODE (_q20))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _q20))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q30 = gimple_assign_rhs1 (_a1);
				_q30 = do_valueize (valueize, _q30);
				switch (TREE_CODE (_q21))
				  {
				  case INTEGER_CST:
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d2 = get_def (valueize, _p1))
					    {
					      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					        switch (gimple_assign_rhs_code (_a2))
						  {
						  CASE_CONVERT:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LE_EXPR))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						        }
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LE_EXPR))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d2 = get_def (valueize, _p1))
					    {
					      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					        switch (gimple_assign_rhs_code (_a2))
						  {
						  case PLUS_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      tree _q61 = gimple_assign_rhs2 (_a2);
						      _q61 = do_valueize (valueize, _q61);
						      if (tree_swap_operands_p (_q60, _q61))
						        std::swap (_q60, _q61);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LE_EXPR, PLUS_EXPR))
									  return true;
								      }
								      break;
								    }
							          default:;
							          }
							        break;
							      }
							    default:;
							    }
						        }
						      break;
						    }
						  case MINUS_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      tree _q61 = gimple_assign_rhs2 (_a2);
						      _q61 = do_valueize (valueize, _q61);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LE_EXPR, MINUS_EXPR))
									  return true;
								      }
								      break;
								    }
							          default:;
							          }
							        break;
							      }
							    default:;
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
		switch (TREE_CODE (_q21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LE_EXPR))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, LE_EXPR))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  case PLUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a1);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LE_EXPR, PLUS_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a1);
				      _q51 = do_valueize (valueize, _q51);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_514 (res_op, seq, valueize, type, captures, LE_EXPR, MINUS_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      break;
		    }
	          default:;
	          }
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
			tree _q21_pops[1];
			if (gimple_nop_convert (_q21, _q21_pops, valueize))
			  {
			    tree _q50 = _q21_pops[0];
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d1 = get_def (valueize, _p1))
			          {
				    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				      switch (gimple_assign_rhs_code (_a1))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a1);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
						        return true;
						    }
						  }
					      }
					    if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
						        return true;
						    }
						  }
					      }
					    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 SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
				        return true;
				    }
				  }
			      }
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				switch (TREE_CODE (_p2))
				  {
				  case SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
				        return true;
				    }
				  }
			      }
}
		      }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
						  return true;
					      }
					    }
				        }
				      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 SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		{
		  tree _q21_pops[1];
		  if (gimple_nop_convert (_q21, _q21_pops, valueize))
		    {
		      tree _q40 = _q21_pops[0];
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		switch (TREE_CODE (_p1))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _p1))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q50 = gimple_assign_rhs1 (_a1);
				_q50 = do_valueize (valueize, _q50);
				if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
					    return true;
					}
				      }
				  }
				if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
					    return true;
					}
				      }
				  }
			        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 SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
			    return true;
			}
		      }
		  }
		if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		  {
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
			    return true;
			}
		      }
		  }
	      }
	  }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		switch (TREE_CODE (_q20))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _q20))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q30 = gimple_assign_rhs1 (_a1);
				_q30 = do_valueize (valueize, _q30);
				switch (TREE_CODE (_q21))
				  {
				  case INTEGER_CST:
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d2 = get_def (valueize, _p1))
					    {
					      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					        switch (gimple_assign_rhs_code (_a2))
						  {
						  CASE_CONVERT:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GT_EXPR))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						        }
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GT_EXPR))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d2 = get_def (valueize, _p1))
					    {
					      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					        switch (gimple_assign_rhs_code (_a2))
						  {
						  case PLUS_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      tree _q61 = gimple_assign_rhs2 (_a2);
						      _q61 = do_valueize (valueize, _q61);
						      if (tree_swap_operands_p (_q60, _q61))
						        std::swap (_q60, _q61);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GT_EXPR, PLUS_EXPR))
									  return true;
								      }
								      break;
								    }
							          default:;
							          }
							        break;
							      }
							    default:;
							    }
						        }
						      break;
						    }
						  case MINUS_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      tree _q61 = gimple_assign_rhs2 (_a2);
						      _q61 = do_valueize (valueize, _q61);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GT_EXPR, MINUS_EXPR))
									  return true;
								      }
								      break;
								    }
							          default:;
							          }
							        break;
							      }
							    default:;
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
		switch (TREE_CODE (_q21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GT_EXPR))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GT_EXPR))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  case PLUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a1);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GT_EXPR, PLUS_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a1);
				      _q51 = do_valueize (valueize, _q51);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GT_EXPR, MINUS_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      break;
		    }
	          default:;
	          }
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
			tree _q21_pops[1];
			if (gimple_nop_convert (_q21, _q21_pops, valueize))
			  {
			    tree _q50 = _q21_pops[0];
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d1 = get_def (valueize, _p1))
			          {
				    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				      switch (gimple_assign_rhs_code (_a1))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a1);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
						        return true;
						    }
						  }
					      }
					    if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
						        return true;
						    }
						  }
					      }
					    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 SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GT_EXPR))
				        return true;
				    }
				  }
			      }
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				switch (TREE_CODE (_p2))
				  {
				  case SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LT_EXPR))
				        return true;
				    }
				  }
			      }
}
		      }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
						  return true;
					      }
					    }
				        }
				      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 SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LT_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		{
		  tree _q21_pops[1];
		  if (gimple_nop_convert (_q21, _q21_pops, valueize))
		    {
		      tree _q40 = _q21_pops[0];
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LT_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GT_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		switch (TREE_CODE (_p1))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _p1))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q50 = gimple_assign_rhs1 (_a1);
				_q50 = do_valueize (valueize, _q50);
				if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
					    return true;
					}
				      }
				  }
				if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
					    return true;
					}
				      }
				  }
			        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 SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GT_EXPR))
			    return true;
			}
		      }
		  }
		if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		  {
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LT_EXPR))
			    return true;
			}
		      }
		  }
		switch (TREE_CODE (_q20))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _q20))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    case PLUS_EXPR:
			      {
				tree _q30 = gimple_assign_rhs1 (_a1);
				_q30 = do_valueize (valueize, _q30);
				tree _q31 = gimple_assign_rhs2 (_a1);
				_q31 = do_valueize (valueize, _q31);
				if (tree_swap_operands_p (_q30, _q31))
				  std::swap (_q30, _q31);
				if (integer_onep (_q31))
				  {
				    switch (TREE_CODE (_p1))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p1))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						case NEGATE_EXPR:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
							      if (gimple_simplify_102 (res_op, seq, valueize, type, captures))
							        return true;
							    }
							  }
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				  }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
	      }
	  }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		switch (TREE_CODE (_q20))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _q20))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q30 = gimple_assign_rhs1 (_a1);
				_q30 = do_valueize (valueize, _q30);
				switch (TREE_CODE (_q21))
				  {
				  case INTEGER_CST:
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d2 = get_def (valueize, _p1))
					    {
					      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					        switch (gimple_assign_rhs_code (_a2))
						  {
						  CASE_CONVERT:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GE_EXPR))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						        }
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GE_EXPR))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d2 = get_def (valueize, _p1))
					    {
					      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					        switch (gimple_assign_rhs_code (_a2))
						  {
						  case PLUS_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      tree _q61 = gimple_assign_rhs2 (_a2);
						      _q61 = do_valueize (valueize, _q61);
						      if (tree_swap_operands_p (_q60, _q61))
						        std::swap (_q60, _q61);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GE_EXPR, PLUS_EXPR))
									  return true;
								      }
								      break;
								    }
							          default:;
							          }
							        break;
							      }
							    default:;
							    }
						        }
						      break;
						    }
						  case MINUS_EXPR:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      tree _q61 = gimple_assign_rhs2 (_a2);
						      _q61 = do_valueize (valueize, _q61);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
									tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q21, _q61, _p2 };
									if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GE_EXPR, MINUS_EXPR))
									  return true;
								      }
								      break;
								    }
							          default:;
							          }
							        break;
							      }
							    default:;
							    }
						        }
						      break;
						    }
						  default:;
						  }
					    }
					  break;
				        default:;
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
		switch (TREE_CODE (_q21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GE_EXPR))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, GE_EXPR))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  case PLUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a1);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GE_EXPR, PLUS_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a1);
				      _q51 = do_valueize (valueize, _q51);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _p2 };
							if (gimple_simplify_514 (res_op, seq, valueize, type, captures, GE_EXPR, MINUS_EXPR))
							  return true;
						      }
						      break;
						    }
					          default:;
					          }
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      break;
		    }
	          default:;
	          }
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
			tree _q21_pops[1];
			if (gimple_nop_convert (_q21, _q21_pops, valueize))
			  {
			    tree _q50 = _q21_pops[0];
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d1 = get_def (valueize, _p1))
			          {
				    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				      switch (gimple_assign_rhs_code (_a1))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a1);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
						        return true;
						    }
						  }
					      }
					    if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
						        return true;
						    }
						  }
					      }
					    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 SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, GE_EXPR))
				        return true;
				    }
				  }
			      }
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				switch (TREE_CODE (_p2))
				  {
				  case SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LE_EXPR))
				        return true;
				    }
				  }
			      }
}
		      }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
						  return true;
					      }
					    }
				        }
				      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 SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, GE_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		{
		  tree _q21_pops[1];
		  if (gimple_nop_convert (_q21, _q21_pops, valueize))
		    {
		      tree _q40 = _q21_pops[0];
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LE_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, GE_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		switch (TREE_CODE (_p1))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _p1))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q50 = gimple_assign_rhs1 (_a1);
				_q50 = do_valueize (valueize, _q50);
				if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
					    return true;
					}
				      }
				  }
				if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
					    return true;
					}
				      }
				  }
			        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 SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, GE_EXPR))
			    return true;
			}
		      }
		  }
		if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		  {
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LE_EXPR))
			    return true;
			}
		      }
		  }
	      }
	  }
        break;
      }
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		if (tree_swap_operands_p (_q20, _q21))
		  std::swap (_q20, _q21);
		switch (TREE_CODE (_q20))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _q20))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q30 = gimple_assign_rhs1 (_a1);
				_q30 = do_valueize (valueize, _q30);
				switch (TREE_CODE (_q21))
				  {
				  case INTEGER_CST:
				    {
				      switch (TREE_CODE (_p1))
				        {
					case SSA_NAME:
					  if (gimple *_d2 = get_def (valueize, _p1))
					    {
					      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					        switch (gimple_assign_rhs_code (_a2))
						  {
						  CASE_CONVERT:
						    {
						      tree _q60 = gimple_assign_rhs1 (_a2);
						      _q60 = do_valueize (valueize, _q60);
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
								  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, EQ_EXPR))
								    return true;
								}
							        break;
							      }
							    default:;
							    }
						        }
						      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q21, _p2 };
						  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, EQ_EXPR))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
			          default:;
			          }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
		switch (TREE_CODE (_q21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, EQ_EXPR))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
				  if (gimple_simplify_398 (res_op, seq, valueize, type, captures, EQ_EXPR))
				    return true;
				}
			        break;
			      }
			    default:;
			    }
		        }
		      break;
		    }
	          default:;
	          }
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
			tree _q21_pops[1];
			if (gimple_nop_convert (_q21, _q21_pops, valueize))
			  {
			    tree _q50 = _q21_pops[0];
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d1 = get_def (valueize, _p1))
			          {
				    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				      switch (gimple_assign_rhs_code (_a1))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a1);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
						        return true;
						    }
						  }
					      }
					    if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
						        return true;
						    }
						  }
					      }
					    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 SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
				        return true;
				    }
				  }
			      }
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				switch (TREE_CODE (_p2))
				  {
				  case SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, EQ_EXPR))
				        return true;
				    }
				  }
			      }
}
		      }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					    }
				        }
				      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 SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		{
		  tree _q21_pops[1];
		  if (gimple_nop_convert (_q21, _q21_pops, valueize))
		    {
		      tree _q40 = _q21_pops[0];
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, EQ_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		switch (TREE_CODE (_p1))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _p1))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q50 = gimple_assign_rhs1 (_a1);
				_q50 = do_valueize (valueize, _q50);
				if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				      }
				  }
				if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				      }
				  }
			        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 SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
			    return true;
			}
		      }
		  }
		if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		  {
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, EQ_EXPR))
			    return true;
			}
		      }
		  }
	      }
	  }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		if (tree_swap_operands_p (_q20, _q21))
		  std::swap (_q20, _q21);
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
			tree _q21_pops[1];
			if (gimple_nop_convert (_q21, _q21_pops, valueize))
			  {
			    tree _q50 = _q21_pops[0];
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d1 = get_def (valueize, _p1))
			          {
				    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				      switch (gimple_assign_rhs_code (_a1))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a1);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
						        return true;
						    }
						  }
					      }
					    if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
						        return true;
						    }
						  }
					      }
					    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 SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
				        return true;
				    }
				  }
			      }
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				switch (TREE_CODE (_p2))
				  {
				  case SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, NE_EXPR))
				        return true;
				    }
				  }
			      }
}
		      }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					    }
				        }
				      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 SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		{
		  tree _q21_pops[1];
		  if (gimple_nop_convert (_q21, _q21_pops, valueize))
		    {
		      tree _q40 = _q21_pops[0];
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, NE_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		switch (TREE_CODE (_p1))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _p1))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q50 = gimple_assign_rhs1 (_a1);
				_q50 = do_valueize (valueize, _q50);
				if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				      }
				  }
				if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				      }
				  }
			        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 SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
			    return true;
			}
		      }
		  }
		if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		  {
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, NE_EXPR))
			    return true;
			}
		      }
		  }
		switch (TREE_CODE (_q21))
		  {
		  case INTEGER_CST:
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  case NEGATE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
						  if (gimple_simplify_427 (res_op, seq, valueize, type, captures))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  case BIT_NOT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a1);
				      _q50 = do_valueize (valueize, _q50);
				      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _p2 };
						  if (gimple_simplify_396 (res_op, seq, valueize, type, captures))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      break;
		    }
	          default:;
	          }
	      }
	  }
        break;
      }
    case UNLE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
			tree _q21_pops[1];
			if (gimple_nop_convert (_q21, _q21_pops, valueize))
			  {
			    tree _q50 = _q21_pops[0];
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d1 = get_def (valueize, _p1))
			          {
				    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				      switch (gimple_assign_rhs_code (_a1))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a1);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						        return true;
						    }
						  }
					      }
					    if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						        return true;
						    }
						  }
					      }
					    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 SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
				        return true;
				    }
				  }
			      }
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				switch (TREE_CODE (_p2))
				  {
				  case SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
				        return true;
				    }
				  }
			      }
}
		      }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						  return true;
					      }
					    }
				        }
				      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 SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		{
		  tree _q21_pops[1];
		  if (gimple_nop_convert (_q21, _q21_pops, valueize))
		    {
		      tree _q40 = _q21_pops[0];
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		switch (TREE_CODE (_p1))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _p1))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q50 = gimple_assign_rhs1 (_a1);
				_q50 = do_valueize (valueize, _q50);
				if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
					    return true;
					}
				      }
				  }
				if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
					    return true;
					}
				      }
				  }
			        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 SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
			    return true;
			}
		      }
		  }
		if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		  {
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
			    return true;
			}
		      }
		  }
	      }
	  }
        break;
      }
    case UNLT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
			tree _q21_pops[1];
			if (gimple_nop_convert (_q21, _q21_pops, valueize))
			  {
			    tree _q50 = _q21_pops[0];
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d1 = get_def (valueize, _p1))
			          {
				    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				      switch (gimple_assign_rhs_code (_a1))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a1);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						        return true;
						    }
						  }
					      }
					    if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						        return true;
						    }
						  }
					      }
					    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 SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
				        return true;
				    }
				  }
			      }
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				switch (TREE_CODE (_p2))
				  {
				  case SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
				        return true;
				    }
				  }
			      }
}
		      }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						  return true;
					      }
					    }
				        }
				      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 SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		{
		  tree _q21_pops[1];
		  if (gimple_nop_convert (_q21, _q21_pops, valueize))
		    {
		      tree _q40 = _q21_pops[0];
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		switch (TREE_CODE (_p1))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _p1))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q50 = gimple_assign_rhs1 (_a1);
				_q50 = do_valueize (valueize, _q50);
				if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
					    return true;
					}
				      }
				  }
				if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
					    return true;
					}
				      }
				  }
			        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 SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
			    return true;
			}
		      }
		  }
		if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		  {
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
			    return true;
			}
		      }
		  }
	      }
	  }
        break;
      }
    case UNGE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
			tree _q21_pops[1];
			if (gimple_nop_convert (_q21, _q21_pops, valueize))
			  {
			    tree _q50 = _q21_pops[0];
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d1 = get_def (valueize, _p1))
			          {
				    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				      switch (gimple_assign_rhs_code (_a1))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a1);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						        return true;
						    }
						  }
					      }
					    if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						        return true;
						    }
						  }
					      }
					    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 SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGE_EXPR))
				        return true;
				    }
				  }
			      }
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				switch (TREE_CODE (_p2))
				  {
				  case SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLE_EXPR))
				        return true;
				    }
				  }
			      }
}
		      }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						  return true;
					      }
					    }
				        }
				      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 SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGE_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLE_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		{
		  tree _q21_pops[1];
		  if (gimple_nop_convert (_q21, _q21_pops, valueize))
		    {
		      tree _q40 = _q21_pops[0];
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLE_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGE_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		switch (TREE_CODE (_p1))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _p1))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q50 = gimple_assign_rhs1 (_a1);
				_q50 = do_valueize (valueize, _q50);
				if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
					    return true;
					}
				      }
				  }
				if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
					    return true;
					}
				      }
				  }
			        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 SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGE_EXPR))
			    return true;
			}
		      }
		  }
		if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		  {
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLE_EXPR))
			    return true;
			}
		      }
		  }
	      }
	  }
        break;
      }
    case UNGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
			tree _q21_pops[1];
			if (gimple_nop_convert (_q21, _q21_pops, valueize))
			  {
			    tree _q50 = _q21_pops[0];
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d1 = get_def (valueize, _p1))
			          {
				    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				      switch (gimple_assign_rhs_code (_a1))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a1);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						        return true;
						    }
						  }
					      }
					    if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						        return true;
						    }
						  }
					      }
					    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 SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNGT_EXPR))
				        return true;
				    }
				  }
			      }
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				switch (TREE_CODE (_p2))
				  {
				  case SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNLT_EXPR))
				        return true;
				    }
				  }
			      }
}
		      }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						  return true;
					      }
					    }
				        }
				      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 SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNGT_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNLT_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		{
		  tree _q21_pops[1];
		  if (gimple_nop_convert (_q21, _q21_pops, valueize))
		    {
		      tree _q40 = _q21_pops[0];
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNLT_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNGT_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		switch (TREE_CODE (_p1))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _p1))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q50 = gimple_assign_rhs1 (_a1);
				_q50 = do_valueize (valueize, _q50);
				if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
					    return true;
					}
				      }
				  }
				if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
					    return true;
					}
				      }
				  }
			        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 SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNGT_EXPR))
			    return true;
			}
		      }
		  }
		if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		  {
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNLT_EXPR))
			    return true;
			}
		      }
		  }
	      }
	  }
        break;
      }
    case UNEQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		if (tree_swap_operands_p (_q20, _q21))
		  std::swap (_q20, _q21);
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
			tree _q21_pops[1];
			if (gimple_nop_convert (_q21, _q21_pops, valueize))
			  {
			    tree _q50 = _q21_pops[0];
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d1 = get_def (valueize, _p1))
			          {
				    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				      switch (gimple_assign_rhs_code (_a1))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a1);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						        return true;
						    }
						  }
					      }
					    if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						        return true;
						    }
						  }
					      }
					    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 SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
				        return true;
				    }
				  }
			      }
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				switch (TREE_CODE (_p2))
				  {
				  case SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
				        return true;
				    }
				  }
			      }
}
		      }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						  return true;
					      }
					    }
				        }
				      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 SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		{
		  tree _q21_pops[1];
		  if (gimple_nop_convert (_q21, _q21_pops, valueize))
		    {
		      tree _q40 = _q21_pops[0];
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		switch (TREE_CODE (_p1))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _p1))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q50 = gimple_assign_rhs1 (_a1);
				_q50 = do_valueize (valueize, _q50);
				if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					    return true;
					}
				      }
				  }
				if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					    return true;
					}
				      }
				  }
			        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 SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
			    return true;
			}
		      }
		  }
		if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		  {
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
			    return true;
			}
		      }
		  }
	      }
	  }
        break;
      }
    case LTGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		if (tree_swap_operands_p (_q20, _q21))
		  std::swap (_q20, _q21);
		{
		  tree _q20_pops[1];
		  if (gimple_nop_convert (_q20, _q20_pops, valueize))
		    {
		      tree _q30 = _q20_pops[0];
		      {
			tree _q21_pops[1];
			if (gimple_nop_convert (_q21, _q21_pops, valueize))
			  {
			    tree _q50 = _q21_pops[0];
			    switch (TREE_CODE (_p1))
			      {
			      case SSA_NAME:
			        if (gimple *_d1 = get_def (valueize, _p1))
			          {
				    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				      switch (gimple_assign_rhs_code (_a1))
					{
					CASE_CONVERT:
					  {
					    tree _q70 = gimple_assign_rhs1 (_a1);
					    _q70 = do_valueize (valueize, _q70);
					    if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						        return true;
						    }
						  }
					      }
					    if ((_q70 == _q50 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q50, 0) && types_match (_q70, _q50)))
					      {
						switch (TREE_CODE (_p2))
						  {
						  case SSA_NAME:
						    if (gimple *_d2 = get_def (valueize, _p2))
						      {
							if (gassign *_a2 = dyn_cast <gassign *> (_d2))
							  switch (gimple_assign_rhs_code (_a2))
							    {
							    CASE_CONVERT:
							      {
								tree _q90 = gimple_assign_rhs1 (_a2);
								_q90 = do_valueize (valueize, _q90);
								if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
								  {
								    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
								      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
								        return true;
								    }
								  }
							        break;
							      }
							    default:;
							    }
						      }
						    break;
					          default:;
					          }
						if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						        return true;
						    }
						  }
					      }
					    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 SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q50 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q50, 0) && types_match (_q80, _q50)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q50 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
				        return true;
				    }
				  }
			      }
			    if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
			      {
				switch (TREE_CODE (_p2))
				  {
				  case SSA_NAME:
				    if (gimple *_d1 = get_def (valueize, _p2))
				      {
					if (gassign *_a1 = dyn_cast <gassign *> (_d1))
					  switch (gimple_assign_rhs_code (_a1))
					    {
					    CASE_CONVERT:
					      {
						tree _q80 = gimple_assign_rhs1 (_a1);
						_q80 = do_valueize (valueize, _q80);
						if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
						  {
						    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
						      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				      }
				    break;
			          default:;
			          }
				if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
				  {
				    {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				      tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _q20, _q30 };
				      if (gimple_simplify_74 (res_op, seq, valueize, type, captures, LTGT_EXPR))
				        return true;
				    }
				  }
			      }
}
		      }
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						  return true;
					      }
					    }
				        }
				      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 SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q30, _q21, _q21 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q30 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q30, 0) && types_match (_p2, _q30)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q30 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		{
		  tree _q21_pops[1];
		  if (gimple_nop_convert (_q21, _q21_pops, valueize))
		    {
		      tree _q40 = _q21_pops[0];
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d1 = get_def (valueize, _p1))
			    {
			      if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			        switch (gimple_assign_rhs_code (_a1))
				  {
				  CASE_CONVERT:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a1);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
								if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						  return true;
					      }
					    }
				        }
				      if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					{
					  switch (TREE_CODE (_p2))
					    {
					    case SSA_NAME:
					      if (gimple *_d2 = get_def (valueize, _p2))
					        {
						  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
						    switch (gimple_assign_rhs_code (_a2))
						      {
						      CASE_CONVERT:
						        {
							  tree _q80 = gimple_assign_rhs1 (_a2);
							  _q80 = do_valueize (valueize, _q80);
							  if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
							    {
							      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
								tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
								if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
								  return true;
							      }
							    }
						          break;
						        }
						      default:;
						      }
					        }
					      break;
					    default:;
					    }
					  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						  return true;
					      }
					    }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
						if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q40, _q20, _q20 };
				if (gimple_simplify_527 (res_op, seq, valueize, type, captures, LTGT_EXPR))
				  return true;
			      }
			    }
		        }
		      if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d1 = get_def (valueize, _p2))
			        {
				  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				    switch (gimple_assign_rhs_code (_a1))
				      {
				      CASE_CONVERT:
				        {
					  tree _q70 = gimple_assign_rhs1 (_a1);
					  _q70 = do_valueize (valueize, _q70);
					  if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
					    {
					      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
						if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			  if ((_p2 == _q40 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q40, 0) && types_match (_p2, _q40)))
			    {
			      {
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q40 };
				if (gimple_simplify_462 (res_op, seq, valueize, type, captures, LTGT_EXPR))
				  return true;
			      }
			    }
		        }
}
		}
		switch (TREE_CODE (_p1))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _p1))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    CASE_CONVERT:
			      {
				tree _q50 = gimple_assign_rhs1 (_a1);
				_q50 = do_valueize (valueize, _q50);
				if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
					    return true;
					}
				      }
				  }
				if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
				  {
				    switch (TREE_CODE (_p2))
				      {
				      case SSA_NAME:
				        if (gimple *_d2 = get_def (valueize, _p2))
				          {
					    if (gassign *_a2 = dyn_cast <gassign *> (_d2))
					      switch (gimple_assign_rhs_code (_a2))
						{
						CASE_CONVERT:
						  {
						    tree _q70 = gimple_assign_rhs1 (_a2);
						    _q70 = do_valueize (valueize, _q70);
						    if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
						      {
							{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
							  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
							  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
							    return true;
							}
						      }
						    break;
						  }
						default:;
						}
				          }
				        break;
				      default:;
				      }
				    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
					    return true;
					}
				      }
				  }
			        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 SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q21 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q21, 0) && types_match (_p2, _q21)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q20, _q21, _q21 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
			    return true;
			}
		      }
		  }
		if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
		  {
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				CASE_CONVERT:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
				      {
					{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
					  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    if ((_p2 == _q20 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q20, 0) && types_match (_p2, _q20)))
		      {
			{
/* #line 4895 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q21, _q20, _q20 };
			  if (gimple_simplify_384 (res_op, seq, valueize, type, captures, LTGT_EXPR))
			    return true;
			}
		      }
		  }
	      }
	  }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 4962 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1876;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4962, __FILE__, __LINE__);
			{
			  res_op->set_op (COND_EXPR, type, 3);
			  res_op->ops[0] = captures[0];
			  res_op->ops[0] = unshare_expr (res_op->ops[0]);
			  res_op->ops[1] = captures[1];
			  res_op->ops[2] = captures[3];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1876:;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  tree _q42 = gimple_assign_rhs3 (_a1);
		  _q42 = do_valueize (valueize, _q42);
		  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		    {
		      {
/* #line 4965 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1877;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4965, __FILE__, __LINE__);
			{
			  res_op->set_op (COND_EXPR, type, 3);
			  res_op->ops[0] = captures[0];
			  res_op->ops[0] = unshare_expr (res_op->ops[0]);
			  res_op->ops[1] = captures[1];
			  res_op->ops[2] = captures[3];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1877:;
		      }
		    }
		  {
/* #line 4973 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
/* #line 4973 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (inverse_conditions_p (captures[0], captures[2])
)
		      {
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1878;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4974, __FILE__, __LINE__);
			{
			  res_op->set_op (COND_EXPR, type, 3);
			  res_op->ops[0] = captures[0];
			  res_op->ops[0] = unshare_expr (res_op->ops[0]);
			  res_op->ops[1] = captures[1];
			  res_op->ops[2] = captures[3];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1878:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4977 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
/* #line 4977 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (inverse_conditions_p (captures[0], captures[1])
)
		      {
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1879;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4978, __FILE__, __LINE__);
			{
			  res_op->set_op (COND_EXPR, type, 3);
			  res_op->ops[0] = captures[0];
			  res_op->ops[0] = unshare_expr (res_op->ops[0]);
			  res_op->ops[1] = captures[3];
			  res_op->ops[2] = captures[4];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1879:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	gimple_seq *lseq = seq;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1880;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4983, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[1];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1880:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5009 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						if (gimple_simplify_322 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		      if (zerop (_p1))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						if (gimple_simplify_442 (res_op, seq, valueize, type, captures, EQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case UNEQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5009 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						if (gimple_simplify_354 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		      if (zerop (_p1))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						if (gimple_simplify_56 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5020 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						if (gimple_simplify_522 (res_op, seq, valueize, type, captures, NE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			if (integer_zerop (_p2))
			  {
			    {
/* #line 5024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			      if (gimple_simplify_284 (res_op, seq, valueize, type, captures, NE_EXPR))
			        return true;
			    }
			  }
		        }
		    }
		  switch (TREE_CODE (_q20))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _q20))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case BIT_AND_EXPR:
			        {
				  tree _q30 = gimple_assign_rhs1 (_a2);
				  _q30 = do_valueize (valueize, _q30);
				  tree _q31 = gimple_assign_rhs2 (_a2);
				  _q31 = do_valueize (valueize, _q31);
				  if (tree_swap_operands_p (_q30, _q31))
				    std::swap (_q30, _q31);
				  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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						      tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						      if (gimple_simplify_332 (res_op, seq, valueize, type, captures))
						        return true;
						    }
						  }
					        break;
					      }
					    default:;
					    }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      case LTGT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5020 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						if (gimple_simplify_229 (res_op, seq, valueize, type, captures, LTGT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			if (integer_zerop (_p2))
			  {
			    {
/* #line 5024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			      if (gimple_simplify_262 (res_op, seq, valueize, type, captures, LTGT_EXPR))
			        return true;
			    }
			  }
		        }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						if (gimple_simplify_197 (res_op, seq, valueize, type, captures, GE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
					{
					  {
/* #line 6027 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
					    if (gimple_simplify_257 (res_op, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
					{
					  {
/* #line 6042 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
					    if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GE_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						if (gimple_simplify_314 (res_op, seq, valueize, type, captures, GT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5038 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						if (gimple_simplify_135 (res_op, seq, valueize, type, captures, LE_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5038 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						if (gimple_simplify_46 (res_op, seq, valueize, type, captures, LT_EXPR))
						  return true;
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
		  if (integer_zerop (_q21))
		    {
		      switch (TREE_CODE (_p1))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p1))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
					{
					  {
/* #line 6027 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
					    if (gimple_simplify_257 (res_op, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_p2))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _p2))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case BIT_NOT_EXPR:
				    {
				      tree _q60 = gimple_assign_rhs1 (_a2);
				      _q60 = do_valueize (valueize, _q60);
				      if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
					{
					  {
/* #line 6042 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
					    if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LT_EXPR))
					      return true;
					  }
				        }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		      switch (TREE_CODE (_p1))
		        {
			case INTEGER_CST:
			  {
			    if (integer_zerop (_p2))
			      {
				{
/* #line 6091 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
				  if (gimple_simplify_289 (res_op, seq, valueize, type, captures))
				    return true;
				}
			      }
			    break;
			  }
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case EQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		if (tree_swap_operands_p (_q20, _q21))
		  std::swap (_q20, _q21);
		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 SSA_NAME:
			    if (gimple *_d1 = get_def (valueize, _p2))
			      {
				if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				  switch (gimple_assign_rhs_code (_a1))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q60 = gimple_assign_rhs1 (_a1);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    {
/* #line 5009 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
					      if (gimple_simplify_322 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		    if (zerop (_p1))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case SSA_NAME:
			    if (gimple *_d1 = get_def (valueize, _p2))
			      {
				if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				  switch (gimple_assign_rhs_code (_a1))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q60 = gimple_assign_rhs1 (_a1);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    {
/* #line 5013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
					      if (gimple_simplify_442 (res_op, seq, valueize, type, captures, EQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		  }
	      }
	  }
        break;
      }
    case UNEQ_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		if (tree_swap_operands_p (_q20, _q21))
		  std::swap (_q20, _q21);
		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 SSA_NAME:
			    if (gimple *_d1 = get_def (valueize, _p2))
			      {
				if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				  switch (gimple_assign_rhs_code (_a1))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q60 = gimple_assign_rhs1 (_a1);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    {
/* #line 5009 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
					      if (gimple_simplify_354 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		    if (zerop (_p1))
		      {
			switch (TREE_CODE (_p2))
			  {
			  case SSA_NAME:
			    if (gimple *_d1 = get_def (valueize, _p2))
			      {
				if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				  switch (gimple_assign_rhs_code (_a1))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q60 = gimple_assign_rhs1 (_a1);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    {
/* #line 5013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
					      if (gimple_simplify_56 (res_op, seq, valueize, type, captures, UNEQ_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		  }
	      }
	  }
        break;
      }
    case NE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		if (tree_swap_operands_p (_q20, _q21))
		  std::swap (_q20, _q21);
		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 SSA_NAME:
			    if (gimple *_d1 = get_def (valueize, _p2))
			      {
				if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				  switch (gimple_assign_rhs_code (_a1))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q60 = gimple_assign_rhs1 (_a1);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    {
/* #line 5020 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      if (gimple_simplify_522 (res_op, seq, valueize, type, captures, NE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      if (integer_zerop (_p2))
			{
			  {
/* #line 5024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    if (gimple_simplify_284 (res_op, seq, valueize, type, captures, NE_EXPR))
			      return true;
			  }
		        }
		      }
		  }
		switch (TREE_CODE (_q20))
		  {
		  case SSA_NAME:
		    if (gimple *_d1 = get_def (valueize, _q20))
		      {
			if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			  switch (gimple_assign_rhs_code (_a1))
			    {
			    case BIT_AND_EXPR:
			      {
				tree _q30 = gimple_assign_rhs1 (_a1);
				_q30 = do_valueize (valueize, _q30);
				tree _q31 = gimple_assign_rhs2 (_a1);
				_q31 = do_valueize (valueize, _q31);
				if (tree_swap_operands_p (_q30, _q31))
				  std::swap (_q30, _q31);
				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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p1 };
						    if (gimple_simplify_332 (res_op, seq, valueize, type, captures))
						      return true;
						  }
					        }
					      break;
					    }
				          default:;
				          }
				      }
				  }
			        break;
			      }
			    default:;
			    }
		      }
		    break;
	          default:;
	          }
	      }
	  }
        break;
      }
    case LTGT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		if (tree_swap_operands_p (_q20, _q21))
		  std::swap (_q20, _q21);
		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 SSA_NAME:
			    if (gimple *_d1 = get_def (valueize, _p2))
			      {
				if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				  switch (gimple_assign_rhs_code (_a1))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q60 = gimple_assign_rhs1 (_a1);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    {
/* #line 5020 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      if (gimple_simplify_229 (res_op, seq, valueize, type, captures, LTGT_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      if (integer_zerop (_p2))
			{
			  {
/* #line 5024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			    if (gimple_simplify_262 (res_op, seq, valueize, type, captures, LTGT_EXPR))
			      return true;
			  }
		        }
		      }
		  }
	      }
	  }
        break;
      }
    case GE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		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 SSA_NAME:
			    if (gimple *_d1 = get_def (valueize, _p2))
			      {
				if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				  switch (gimple_assign_rhs_code (_a1))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q60 = gimple_assign_rhs1 (_a1);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    {
/* #line 5031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      if (gimple_simplify_197 (res_op, seq, valueize, type, captures, GE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		  }
		if (integer_zerop (_q21))
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p1))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				case BIT_NOT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a1);
				    _q50 = do_valueize (valueize, _q50);
				    if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				      {
					{
/* #line 6027 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
					  if (gimple_simplify_257 (res_op, seq, valueize, type, captures, GE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				case BIT_NOT_EXPR:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
				      {
					{
/* #line 6042 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
					  if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GE_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		  }
	      }
	  }
        break;
      }
    case GT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		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 SSA_NAME:
			    if (gimple *_d1 = get_def (valueize, _p2))
			      {
				if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				  switch (gimple_assign_rhs_code (_a1))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q60 = gimple_assign_rhs1 (_a1);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    {
/* #line 5031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      if (gimple_simplify_314 (res_op, seq, valueize, type, captures, GT_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		  }
	      }
	  }
        break;
      }
    case LE_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		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 SSA_NAME:
			    if (gimple *_d1 = get_def (valueize, _p2))
			      {
				if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				  switch (gimple_assign_rhs_code (_a1))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q60 = gimple_assign_rhs1 (_a1);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    {
/* #line 5038 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      if (gimple_simplify_135 (res_op, seq, valueize, type, captures, LE_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		  }
	      }
	  }
        break;
      }
    case LT_EXPR:
      {
	tree _q20 = TREE_OPERAND (_p0, 0);
	if ((TREE_CODE (_q20) == SSA_NAME
	     || is_gimple_min_invariant (_q20)))
	  {
	    _q20 = do_valueize (valueize, _q20);
	    tree _q21 = TREE_OPERAND (_p0, 1);
	    if ((TREE_CODE (_q21) == SSA_NAME
	         || is_gimple_min_invariant (_q21)))
	      {
		_q21 = do_valueize (valueize, _q21);
		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 SSA_NAME:
			    if (gimple *_d1 = get_def (valueize, _p2))
			      {
				if (gassign *_a1 = dyn_cast <gassign *> (_d1))
				  switch (gimple_assign_rhs_code (_a1))
				    {
				    case NEGATE_EXPR:
				      {
					tree _q60 = gimple_assign_rhs1 (_a1);
					_q60 = do_valueize (valueize, _q60);
					if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					  {
					    {
/* #line 5038 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
					      if (gimple_simplify_46 (res_op, seq, valueize, type, captures, LT_EXPR))
					        return true;
					    }
					  }
				        break;
				      }
				    default:;
				    }
			      }
			    break;
		          default:;
		          }
		      }
		  }
		if (integer_zerop (_q21))
		  {
		    switch (TREE_CODE (_p1))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p1))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				case BIT_NOT_EXPR:
				  {
				    tree _q50 = gimple_assign_rhs1 (_a1);
				    _q50 = do_valueize (valueize, _q50);
				    if ((_p2 == _q50 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q50, 0) && types_match (_p2, _q50)))
				      {
					{
/* #line 6027 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
					  if (gimple_simplify_257 (res_op, seq, valueize, type, captures, LT_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    switch (TREE_CODE (_p2))
		      {
		      case SSA_NAME:
		        if (gimple *_d1 = get_def (valueize, _p2))
		          {
			    if (gassign *_a1 = dyn_cast <gassign *> (_d1))
			      switch (gimple_assign_rhs_code (_a1))
				{
				case BIT_NOT_EXPR:
				  {
				    tree _q60 = gimple_assign_rhs1 (_a1);
				    _q60 = do_valueize (valueize, _q60);
				    if ((_q60 == _p1 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p1, 0) && types_match (_q60, _p1)))
				      {
					{
/* #line 6042 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
					  if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LT_EXPR))
					    return true;
					}
				      }
				    break;
				  }
				default:;
				}
		          }
		        break;
		      default:;
		      }
		    switch (TREE_CODE (_p1))
		      {
		      case INTEGER_CST:
		        {
			  if (integer_zerop (_p2))
			    {
			      {
/* #line 6091 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p1 };
				if (gimple_simplify_289 (res_op, seq, valueize, type, captures))
				  return true;
			      }
			    }
		          break;
		        }
		      default:;
		      }
		  }
	      }
	  }
        break;
      }
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_logical_inverted_value (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      if (gimple_truth_valued_p (_q20, valueize))
	{
	  {
/* #line 4988 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1881;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4988, __FILE__, __LINE__);
	    {
	      res_op->set_op (COND_EXPR, type, 3);
	      res_op->ops[0] = captures[0];
	      res_op->ops[1] = captures[2];
	      res_op->ops[2] = captures[1];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1881:;
	  }
        }
}
}
  return false;
}

static bool
gimple_simplify_VEC_COND_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  if (integer_zerop (_q22))
		    {
		      {
/* #line 4607 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _p2 };
/* #line 4607 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (optimize_vectors_before_lowering_p () && types_match (captures[1], captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[0])))
			      lseq = NULL;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1882;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4608, __FILE__, __LINE__);
			    {
			      res_op->set_op (VEC_COND_EXPR, type, 3);
			      {
				tree _o1[2], _r1;
				_o1[0] = captures[1];
				_o1[1] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1882;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] = captures[3];
			      res_op->ops[2] = captures[4];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1882:;
			  }
		      }
		    }
		  if (integer_all_onesp (_q21))
		    {
		      {
/* #line 4611 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q22, _p1, _p2 };
/* #line 4611 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (optimize_vectors_before_lowering_p () && types_match (captures[1], captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[0])))
			      lseq = NULL;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1883;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4612, __FILE__, __LINE__);
			    {
			      res_op->set_op (VEC_COND_EXPR, type, 3);
			      {
				tree _o1[2], _r1;
				_o1[0] = captures[1];
				_o1[1] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1883;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] = captures[3];
			      res_op->ops[2] = captures[4];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1883:;
			  }
		      }
		    }
		  if (integer_zerop (_q21))
		    {
		      {
/* #line 4615 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q22, _p1, _p2 };
/* #line 4615 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (optimize_vectors_before_lowering_p () && types_match (captures[1], captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[0])))
			      lseq = NULL;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1884;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4616, __FILE__, __LINE__);
			    {
			      res_op->set_op (VEC_COND_EXPR, type, 3);
			      {
				tree _o1[2], _r1;
				_o1[0] = captures[1];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1884;
				  _o1[1] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1884;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] = captures[4];
			      res_op->ops[2] = captures[3];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1884:;
			  }
		      }
		    }
		  if (integer_all_onesp (_q22))
		    {
		      {
/* #line 4619 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _p2 };
/* #line 4619 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (optimize_vectors_before_lowering_p () && types_match (captures[1], captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[0])))
			      lseq = NULL;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1885;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4620, __FILE__, __LINE__);
			    {
			      res_op->set_op (VEC_COND_EXPR, type, 3);
			      {
				tree _o1[2], _r1;
				_o1[0] = captures[1];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[2];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1885;
				  _o1[1] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1885;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] = captures[4];
			      res_op->ops[2] = captures[3];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1885:;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case VECTOR_CST:
      {
	{
/* #line 4468 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4468 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (integer_all_onesp (captures[0])
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1886;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4469, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[1];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail1886:;
	    }
	  else
	    {
/* #line 4470 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (integer_zerop (captures[0])
)
		{
		  gimple_seq *lseq = seq;
		  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1887;
		  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4471, __FILE__, __LINE__);
		  {
		    tree tem;
		    tem = captures[2];
		    res_op->set_value (tem);
		    return true;
		  }
next_after_fail1887:;
		}
	    }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  if ((_p2 == _q32 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q32, 0) && types_match (_p2, _q32)))
		    {
		      {
/* #line 4625 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4625 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (optimize_vectors_before_lowering_p () && types_match (captures[0], captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1888;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4626, __FILE__, __LINE__);
			    {
			      res_op->set_op (VEC_COND_EXPR, type, 3);
			      {
				tree _o1[2], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1888;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] = captures[3];
			      res_op->ops[2] = captures[4];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1888:;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  tree _q42 = gimple_assign_rhs3 (_a1);
		  _q42 = do_valueize (valueize, _q42);
		  if ((_q41 == _p1 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p1, 0) && types_match (_q41, _p1)))
		    {
		      {
/* #line 4629 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q42 };
/* #line 4629 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (optimize_vectors_before_lowering_p () && types_match (captures[0], captures[3])
)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[2])))
			      lseq = NULL;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1889;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4630, __FILE__, __LINE__);
			    {
			      res_op->set_op (VEC_COND_EXPR, type, 3);
			      {
				tree _o1[2], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[3];
				gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1889;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] = captures[1];
			      res_op->ops[2] = captures[4];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1889:;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  if ((_p2 == _q31 && ! TREE_SIDE_EFFECTS (_p2)) || (operand_equal_p (_p2, _q31, 0) && types_match (_p2, _q31)))
		    {
		      {
/* #line 4633 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
/* #line 4633 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (optimize_vectors_before_lowering_p () && types_match (captures[0], captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[1])))
			      lseq = NULL;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1890;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4634, __FILE__, __LINE__);
			    {
			      res_op->set_op (VEC_COND_EXPR, type, 3);
			      {
				tree _o1[2], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1890;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1890;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] = captures[3];
			      res_op->ops[2] = captures[4];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1890:;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  tree _q42 = gimple_assign_rhs3 (_a1);
		  _q42 = do_valueize (valueize, _q42);
		  if ((_q42 == _p1 && ! TREE_SIDE_EFFECTS (_q42)) || (operand_equal_p (_q42, _p1, 0) && types_match (_q42, _p1)))
		    {
		      {
/* #line 4637 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
/* #line 4637 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (optimize_vectors_before_lowering_p () && types_match (captures[0], captures[3])
)
			  {
			    gimple_seq *lseq = seq;
			    if (lseq
			        && (!single_use (captures[2])))
			      lseq = NULL;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1891;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4638, __FILE__, __LINE__);
			    {
			      res_op->set_op (VEC_COND_EXPR, type, 3);
			      {
				tree _o1[2], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1891;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1891;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] = captures[4];
			      res_op->ops[2] = captures[1];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1891:;
			  }
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		    {
		      {
/* #line 4962 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _p2 };
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1892;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4962, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[0];
			  res_op->ops[1] = captures[1];
			  res_op->ops[2] = captures[3];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1892:;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    case VECTOR_CST:
      {
	switch (TREE_CODE (_p2))
	  {
	  case VECTOR_CST:
	    {
	      {
/* #line 4645 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 4645 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		if (VECTOR_BOOLEAN_TYPE_P (type)
 && types_match (type, TREE_TYPE (captures[0]))
)
		  {
/* #line 4647 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (integer_zerop (captures[1]) && integer_all_onesp (captures[2])
)
		      {
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1893;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4648, __FILE__, __LINE__);
			{
			  res_op->set_op (BIT_NOT_EXPR, type, 1);
			  res_op->ops[0] = captures[0];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1893:;
		      }
		    else
		      {
/* #line 4649 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (integer_all_onesp (captures[1]) && integer_zerop (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1894;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4650, __FILE__, __LINE__);
			    {
			      tree tem;
			      tem = captures[0];
			      res_op->set_value (tem);
			      return true;
			    }
next_after_fail1894:;
			  }
		      }
		  }
	      }
	      break;
	    }
          default:;
          }
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  tree _q42 = gimple_assign_rhs3 (_a1);
		  _q42 = do_valueize (valueize, _q42);
		  if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
		    {
		      {
/* #line 4965 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _q42 };
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1895;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4965, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[0];
			  res_op->ops[1] = captures[1];
			  res_op->ops[2] = captures[3];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1895:;
		      }
		    }
		  {
/* #line 4973 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42 };
/* #line 4973 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (inverse_conditions_p (captures[0], captures[2])
)
		      {
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1896;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4974, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[0];
			  res_op->ops[1] = captures[1];
			  res_op->ops[2] = captures[3];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1896:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  tree _q32 = gimple_assign_rhs3 (_a1);
		  _q32 = do_valueize (valueize, _q32);
		  {
/* #line 4977 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q32, _p2 };
/* #line 4977 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (inverse_conditions_p (captures[0], captures[1])
)
		      {
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1897;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4978, __FILE__, __LINE__);
			{
			  res_op->set_op (VEC_COND_EXPR, type, 3);
			  res_op->ops[0] = captures[0];
			  res_op->ops[1] = captures[3];
			  res_op->ops[2] = captures[4];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1897:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
	gimple_seq *lseq = seq;
	if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1898;
	if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4983, __FILE__, __LINE__);
	{
	  tree tem;
	  tem = captures[1];
	  res_op->set_value (tem);
	  return true;
	}
next_after_fail1898:;
      }
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case EQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5009 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						const enum tree_code cmp = EQ_EXPR;
/* #line 5009 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1899;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5010, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem = captures[1];
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail1899:;
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		      if (zerop (_p1))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						const enum tree_code cmp = EQ_EXPR;
/* #line 5013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1900;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5014, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem = captures[1];
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail1900:;
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case UNEQ_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5009 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						const enum tree_code cmp = UNEQ_EXPR;
/* #line 5009 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1901;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5010, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem = captures[1];
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail1901:;
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		      if (zerop (_p1))
			{
			  switch (TREE_CODE (_p2))
			    {
			    case SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[2] ATTRIBUTE_UNUSED = { _q20, _p2 };
						const enum tree_code cmp = UNEQ_EXPR;
/* #line 5013 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1902;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5014, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem = captures[1];
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail1902:;
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case NE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5020 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						const enum tree_code cmp = NE_EXPR;
/* #line 5020 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1903;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5021, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem = captures[0];
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail1903:;
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			if (integer_zerop (_p2))
			  {
			    {
/* #line 5024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			      const enum tree_code cmp = NE_EXPR;
/* #line 5024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (!HONOR_SIGNED_ZEROS (type)
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1904;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5025, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem = captures[0];
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail1904:;
				}
			    }
			  }
		        }
		    }
	          break;
	        }
	      case LTGT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5020 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						const enum tree_code cmp = LTGT_EXPR;
/* #line 5020 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1905;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5021, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem = captures[0];
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail1905:;
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
			if (integer_zerop (_p2))
			  {
			    {
/* #line 5024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
			      const enum tree_code cmp = LTGT_EXPR;
/* #line 5024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (!HONOR_SIGNED_ZEROS (type)
)
				{
				  gimple_seq *lseq = seq;
				  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1906;
				  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5025, __FILE__, __LINE__);
				  {
				    tree tem;
				    tem = captures[0];
				    res_op->set_value (tem);
				    return true;
				  }
next_after_fail1906:;
				}
			    }
			  }
		        }
		    }
	          break;
	        }
	      case GE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						const enum tree_code cmp = GE_EXPR;
/* #line 5031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1907;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5033, __FILE__, __LINE__);
						    {
						      res_op->set_op (ABS_EXPR, type, 1);
						      res_op->ops[0] = captures[0];
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1907:;
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case GT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						const enum tree_code cmp = GT_EXPR;
/* #line 5031 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1908;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5033, __FILE__, __LINE__);
						    {
						      res_op->set_op (ABS_EXPR, type, 1);
						      res_op->ops[0] = captures[0];
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1908:;
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5038 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						const enum tree_code cmp = LE_EXPR;
/* #line 5038 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
						  {
/* #line 5040 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
						      {
							{
/* #line 5042 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
							    gimple_seq *lseq = seq;
							    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1909;
							    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5045, __FILE__, __LINE__);
							    {
							      res_op->set_op (NOP_EXPR, type, 1);
							      {
								tree _o1[1], _r1;
								{
								  tree _o2[1], _r2;
								  _o2[0] = captures[0];
								  gimple_match_op tem_op (res_op->cond.any_else (), ABSU_EXPR, utype, _o2[0]);
								  tem_op.resimplify (lseq, valueize);
								  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
								  if (!_r2) goto next_after_fail1909;
								  _o1[0] = _r2;
								}
								gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
								tem_op.resimplify (lseq, valueize);
								_r1 = maybe_push_res_to_seq (&tem_op, lseq);
								if (!_r1) goto next_after_fail1909;
								res_op->ops[0] = _r1;
							      }
							      res_op->resimplify (lseq, valueize);
							      return true;
							    }
next_after_fail1909:;
							}
						      }
						    else
						      {
							gimple_seq *lseq = seq;
							if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1910;
							if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5046, __FILE__, __LINE__);
							{
							  res_op->set_op (NEGATE_EXPR, type, 1);
							  {
							    tree _o1[1], _r1;
							    _o1[0] = captures[0];
							    gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
							    tem_op.resimplify (lseq, valueize);
							    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r1) goto next_after_fail1910;
							    res_op->ops[0] = _r1;
							  }
							  res_op->resimplify (lseq, valueize);
							  return true;
							}
next_after_fail1910:;
						      }
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      case LT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  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 SSA_NAME:
			      if (gimple *_d2 = get_def (valueize, _p2))
			        {
				  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
				    switch (gimple_assign_rhs_code (_a2))
				      {
				      case NEGATE_EXPR:
				        {
					  tree _q60 = gimple_assign_rhs1 (_a2);
					  _q60 = do_valueize (valueize, _q60);
					  if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
					    {
					      {
/* #line 5038 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
						const enum tree_code cmp = LT_EXPR;
/* #line 5038 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (!HONOR_SIGNED_ZEROS (type)
 && !TYPE_UNSIGNED (type)
)
						  {
/* #line 5040 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    if (ANY_INTEGRAL_TYPE_P (type)
 && !TYPE_OVERFLOW_WRAPS (type)
)
						      {
							{
/* #line 5042 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree utype = unsigned_type_for (type);
							    gimple_seq *lseq = seq;
							    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1911;
							    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5045, __FILE__, __LINE__);
							    {
							      res_op->set_op (NOP_EXPR, type, 1);
							      {
								tree _o1[1], _r1;
								{
								  tree _o2[1], _r2;
								  _o2[0] = captures[0];
								  gimple_match_op tem_op (res_op->cond.any_else (), ABSU_EXPR, utype, _o2[0]);
								  tem_op.resimplify (lseq, valueize);
								  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
								  if (!_r2) goto next_after_fail1911;
								  _o1[0] = _r2;
								}
								gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
								tem_op.resimplify (lseq, valueize);
								_r1 = maybe_push_res_to_seq (&tem_op, lseq);
								if (!_r1) goto next_after_fail1911;
								res_op->ops[0] = _r1;
							      }
							      res_op->resimplify (lseq, valueize);
							      return true;
							    }
next_after_fail1911:;
							}
						      }
						    else
						      {
							gimple_seq *lseq = seq;
							if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1912;
							if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 5046, __FILE__, __LINE__);
							{
							  res_op->set_op (NEGATE_EXPR, type, 1);
							  {
							    tree _o1[1], _r1;
							    _o1[0] = captures[0];
							    gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
							    tem_op.resimplify (lseq, valueize);
							    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
							    if (!_r1) goto next_after_fail1912;
							    res_op->ops[0] = _r1;
							  }
							  res_op->resimplify (lseq, valueize);
							  return true;
							}
next_after_fail1912:;
						      }
						  }
					      }
					    }
				          break;
				        }
				      default:;
				      }
			        }
			      break;
			    default:;
			    }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
{
  tree _p0_pops[1];
  if (gimple_logical_inverted_value (_p0, _p0_pops, valueize))
    {
      tree _q20 = _p0_pops[0];
      if (gimple_truth_valued_p (_q20, valueize))
	{
	  {
/* #line 4988 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1913;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 4988, __FILE__, __LINE__);
	    {
	      res_op->set_op (VEC_COND_EXPR, type, 3);
	      res_op->ops[0] = captures[0];
	      res_op->ops[1] = captures[2];
	      res_op->ops[2] = captures[1];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1913:;
	  }
        }
}
}
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q30) == SSA_NAME
		       || is_gimple_min_invariant (_q30)))
		    {
		      _q30 = do_valueize (valueize, _q30);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case NEGATE_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      {
/* #line 7934 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _p2 };
					{
/* #line 7934 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7935 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_NEG), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1914;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7937, __FILE__, __LINE__);
						{
						  res_op->set_op (CFN_COND_NEG, type, 3);
						  res_op->ops[0] = captures[0];
						  res_op->ops[1] = captures[2];
						  res_op->ops[2] = captures[3];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1914:;
					      }
					}
				      }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 7934 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _p2 };
		    {
/* #line 7934 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7935 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_NEG), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1915;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7937, __FILE__, __LINE__);
			    {
			      res_op->set_op (CFN_COND_NEG, type, 3);
			      res_op->ops[0] = captures[0];
			      res_op->ops[1] = captures[2];
			      res_op->ops[2] = captures[3];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1915:;
			  }
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q40) == SSA_NAME
		       || is_gimple_min_invariant (_q40)))
		    {
		      _q40 = do_valueize (valueize, _q40);
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case NEGATE_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      {
/* #line 7940 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50 };
					{
/* #line 7940 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_NEG), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1916;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7943, __FILE__, __LINE__);
						{
						  res_op->set_op (CFN_COND_NEG, type, 3);
						  {
						    tree _o1[1], _r1;
						    _o1[0] = captures[0];
						    gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1916;
						    res_op->ops[0] = _r1;
						  }
						  res_op->ops[1] = captures[3];
						  res_op->ops[2] = captures[1];
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1916:;
					      }
					}
				      }
				      break;
				    }
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case NEGATE_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  {
/* #line 7940 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40 };
		    {
/* #line 7940 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7941 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_NEG), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1917;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7943, __FILE__, __LINE__);
			    {
			      res_op->set_op (CFN_COND_NEG, type, 3);
			      {
				tree _o1[1], _r1;
				_o1[0] = captures[0];
				gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1917;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] = captures[3];
			      res_op->ops[2] = captures[1];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1917:;
			  }
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q30) == SSA_NAME
		       || is_gimple_min_invariant (_q30)))
		    {
		      _q30 = do_valueize (valueize, _q30);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case PLUS_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (tree_swap_operands_p (_q40, _q41))
				        std::swap (_q40, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_ADD), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1918;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1918;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_ADD, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1918;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1918:;
					      }
					}
				      }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_SUB), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1919;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1919;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_SUB, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1919;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1919:;
					      }
					}
				      }
				      break;
				    }
				  case MULT_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (tree_swap_operands_p (_q40, _q41))
				        std::swap (_q40, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MUL), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1920;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1920;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MUL, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1920;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1920:;
					      }
					}
				      }
				      break;
				    }
				  case TRUNC_DIV_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_DIV), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1921;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1921;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_DIV, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1921;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1921:;
					      }
					}
				      }
				      break;
				    }
				  case TRUNC_MOD_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MOD), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1922;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1922;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MOD, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1922;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1922:;
					      }
					}
				      }
				      break;
				    }
				  case RDIV_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_RDIV), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1923;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1923;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_RDIV, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1923;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1923:;
					      }
					}
				      }
				      break;
				    }
				  case MIN_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (tree_swap_operands_p (_q40, _q41))
				        std::swap (_q40, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MIN), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1924;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1924;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MIN, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1924;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1924:;
					      }
					}
				      }
				      break;
				    }
				  case MAX_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (tree_swap_operands_p (_q40, _q41))
				        std::swap (_q40, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MAX), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1925;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1925;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MAX, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1925;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1925:;
					      }
					}
				      }
				      break;
				    }
				  case BIT_AND_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (tree_swap_operands_p (_q40, _q41))
				        std::swap (_q40, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_AND), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1926;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1926;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_AND, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1926;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1926:;
					      }
					}
				      }
				      break;
				    }
				  case BIT_IOR_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (tree_swap_operands_p (_q40, _q41))
				        std::swap (_q40, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_IOR), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1927;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1927;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_IOR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1927;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1927:;
					      }
					}
				      }
				      break;
				    }
				  case BIT_XOR_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      if (tree_swap_operands_p (_q40, _q41))
				        std::swap (_q40, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_XOR), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1928;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1928;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_XOR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1928;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1928:;
					      }
					}
				      }
				      break;
				    }
				  case LSHIFT_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_SHL), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1929;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1929;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_SHL, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1929;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1929:;
					      }
					}
				      }
				      break;
				    }
				  case RSHIFT_EXPR:
				    {
				      tree _q40 = gimple_assign_rhs1 (_a2);
				      _q40 = do_valueize (valueize, _q40);
				      tree _q41 = gimple_assign_rhs2 (_a2);
				      _q41 = do_valueize (valueize, _q41);
				      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_SHR), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1930;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    _o1[0] = captures[0];
						    _o1[1] = captures[2];
						    _o1[2] = captures[3];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[4];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1930;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_SHR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1930;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1930:;
					      }
					}
				      }
				      break;
				    }
				  default:;
				  }
			      else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_FMIN:
				    if (gimple_call_num_args (_c2) == 2)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_FMIN), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1931;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						  {
						    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						    {
						      tree _o1[4], _r1;
						      _o1[0] = captures[0];
						      _o1[1] = captures[2];
						      _o1[2] = captures[3];
						      {
							tree _o2[1], _r2;
							_o2[0] = captures[4];
							gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
							tem_op.resimplify (lseq, valueize);
							_r2 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r2) goto next_after_fail1931;
							_o1[3] = _r2;
						      }
						      gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_FMIN, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail1931;
						      res_op->ops[0] = _r1;
						    }
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1931:;
						}
					  }
					}
				      }
				    break;
				  case CFN_FMAX:
				    if (gimple_call_num_args (_c2) == 2)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					{
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _p2 };
					  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_FMAX), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1932;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
						  {
						    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						    {
						      tree _o1[4], _r1;
						      _o1[0] = captures[0];
						      _o1[1] = captures[2];
						      _o1[2] = captures[3];
						      {
							tree _o2[1], _r2;
							_o2[0] = captures[4];
							gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
							tem_op.resimplify (lseq, valueize);
							_r2 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r2) goto next_after_fail1932;
							_o1[3] = _r2;
						      }
						      gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_FMAX, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail1932;
						      res_op->ops[0] = _r1;
						    }
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1932:;
						}
					  }
					}
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_ADD), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1933;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1933;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_ADD, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1933;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1933:;
			  }
		    }
		  }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_SUB), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1934;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1934;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_SUB, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1934;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1934:;
			  }
		    }
		  }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MUL), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1935;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1935;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MUL, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1935;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1935:;
			  }
		    }
		  }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_DIV), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1936;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1936;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_DIV, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1936;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1936:;
			  }
		    }
		  }
	          break;
	        }
	      case TRUNC_MOD_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MOD), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1937;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1937;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MOD, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1937;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1937:;
			  }
		    }
		  }
	          break;
	        }
	      case RDIV_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_RDIV), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1938;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1938;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_RDIV, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1938;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1938:;
			  }
		    }
		  }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MIN), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1939;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1939;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MIN, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1939;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1939:;
			  }
		    }
		  }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MAX), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1940;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1940;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MAX, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1940;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1940:;
			  }
		    }
		  }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_AND), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1941;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1941;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_AND, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1941;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1941:;
			  }
		    }
		  }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_IOR), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1942;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1942;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_IOR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1942;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1942:;
			  }
		    }
		  }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  if (tree_swap_operands_p (_q30, _q31))
		    std::swap (_q30, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_XOR), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1943;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1943;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_XOR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1943;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1943:;
			  }
		    }
		  }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_SHL), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1944;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1944;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_SHL, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1944;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1944:;
			  }
		    }
		  }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  tree _q31 = gimple_assign_rhs2 (_a1);
		  _q31 = do_valueize (valueize, _q31);
		  {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_SHR), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1945;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				_o1[2] = captures[3];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[4];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1945;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_SHR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1945;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1945:;
			  }
		    }
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_FMIN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_FMIN), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1946;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			      {
				res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				{
				  tree _o1[4], _r1;
				  _o1[0] = captures[0];
				  _o1[1] = captures[2];
				  _o1[2] = captures[3];
				  {
				    tree _o2[1], _r2;
				    _o2[0] = captures[4];
				    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				    tem_op.resimplify (lseq, valueize);
				    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				    if (!_r2) goto next_after_fail1946;
				    _o1[3] = _r2;
				  }
				  gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_FMIN, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1946;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1946:;
			    }
		      }
		    }
	          }
	        break;
	      case CFN_FMAX:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _p2 };
		      {
/* #line 7967 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[1]);
/* #line 7968 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_FMAX), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[1])
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1947;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7971, __FILE__, __LINE__);
			      {
				res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				{
				  tree _o1[4], _r1;
				  _o1[0] = captures[0];
				  _o1[1] = captures[2];
				  _o1[2] = captures[3];
				  {
				    tree _o2[1], _r2;
				    _o2[0] = captures[4];
				    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				    tem_op.resimplify (lseq, valueize);
				    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				    if (!_r2) goto next_after_fail1947;
				    _o1[3] = _r2;
				  }
				  gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_FMAX, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1947;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1947:;
			    }
		      }
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q40) == SSA_NAME
		       || is_gimple_min_invariant (_q40)))
		    {
		      _q40 = do_valueize (valueize, _q40);
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			        switch (gimple_assign_rhs_code (_a2))
				  {
				  case PLUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_ADD), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1948;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1948;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1948;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_ADD, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1948;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1948:;
					      }
					}
				      }
				      break;
				    }
				  case MINUS_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_SUB), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1949;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1949;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1949;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_SUB, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1949;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1949:;
					      }
					}
				      }
				      break;
				    }
				  case MULT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MUL), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1950;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1950;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1950;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MUL, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1950;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1950:;
					      }
					}
				      }
				      break;
				    }
				  case TRUNC_DIV_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_DIV), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1951;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1951;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1951;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_DIV, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1951;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1951:;
					      }
					}
				      }
				      break;
				    }
				  case TRUNC_MOD_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MOD), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1952;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1952;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1952;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MOD, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1952;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1952:;
					      }
					}
				      }
				      break;
				    }
				  case RDIV_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_RDIV), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1953;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1953;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1953;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_RDIV, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1953;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1953:;
					      }
					}
				      }
				      break;
				    }
				  case MIN_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MIN), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1954;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1954;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1954;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MIN, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1954;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1954:;
					      }
					}
				      }
				      break;
				    }
				  case MAX_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MAX), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1955;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1955;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1955;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MAX, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1955;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1955:;
					      }
					}
				      }
				      break;
				    }
				  case BIT_AND_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_AND), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1956;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1956;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1956;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_AND, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1956;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1956:;
					      }
					}
				      }
				      break;
				    }
				  case BIT_IOR_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_IOR), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1957;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1957;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1957;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_IOR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1957;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1957:;
					      }
					}
				      }
				      break;
				    }
				  case BIT_XOR_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      if (tree_swap_operands_p (_q50, _q51))
				        std::swap (_q50, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_XOR), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1958;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1958;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1958;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_XOR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1958;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1958:;
					      }
					}
				      }
				      break;
				    }
				  case LSHIFT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_SHL), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1959;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1959;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1959;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_SHL, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1959;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1959:;
					      }
					}
				      }
				      break;
				    }
				  case RSHIFT_EXPR:
				    {
				      tree _q50 = gimple_assign_rhs1 (_a2);
				      _q50 = do_valueize (valueize, _q50);
				      tree _q51 = gimple_assign_rhs2 (_a2);
				      _q51 = do_valueize (valueize, _q51);
				      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_SHR), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1960;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						{
						  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						  {
						    tree _o1[4], _r1;
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[0];
						      gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1960;
						      _o1[0] = _r2;
						    }
						    _o1[1] = captures[3];
						    _o1[2] = captures[4];
						    {
						      tree _o2[1], _r2;
						      _o2[0] = captures[1];
						      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
						      tem_op.resimplify (lseq, valueize);
						      _r2 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r2) goto next_after_fail1960;
						      _o1[3] = _r2;
						    }
						    gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_SHR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						    tem_op.resimplify (lseq, valueize);
						    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						    if (!_r1) goto next_after_fail1960;
						    res_op->ops[0] = _r1;
						  }
						  res_op->resimplify (lseq, valueize);
						  return true;
						}
next_after_fail1960:;
					      }
					}
				      }
				      break;
				    }
				  default:;
				  }
			      else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_FMIN:
				    if (gimple_call_num_args (_c2) == 2)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_FMIN), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1961;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						  {
						    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						    {
						      tree _o1[4], _r1;
						      {
							tree _o2[1], _r2;
							_o2[0] = captures[0];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
							tem_op.resimplify (lseq, valueize);
							_r2 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r2) goto next_after_fail1961;
							_o1[0] = _r2;
						      }
						      _o1[1] = captures[3];
						      _o1[2] = captures[4];
						      {
							tree _o2[1], _r2;
							_o2[0] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
							tem_op.resimplify (lseq, valueize);
							_r2 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r2) goto next_after_fail1961;
							_o1[3] = _r2;
						      }
						      gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_FMIN, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail1961;
						      res_op->ops[0] = _r1;
						    }
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1961:;
						}
					  }
					}
				      }
				    break;
				  case CFN_FMAX:
				    if (gimple_call_num_args (_c2) == 2)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					{
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51 };
					  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_FMAX), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1962;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
						  {
						    res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						    {
						      tree _o1[4], _r1;
						      {
							tree _o2[1], _r2;
							_o2[0] = captures[0];
							gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
							tem_op.resimplify (lseq, valueize);
							_r2 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r2) goto next_after_fail1962;
							_o1[0] = _r2;
						      }
						      _o1[1] = captures[3];
						      _o1[2] = captures[4];
						      {
							tree _o2[1], _r2;
							_o2[0] = captures[1];
							gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
							tem_op.resimplify (lseq, valueize);
							_r2 = maybe_push_res_to_seq (&tem_op, lseq);
							if (!_r2) goto next_after_fail1962;
							_o1[3] = _r2;
						      }
						      gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_FMAX, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
						      tem_op.resimplify (lseq, valueize);
						      _r1 = maybe_push_res_to_seq (&tem_op, lseq);
						      if (!_r1) goto next_after_fail1962;
						      res_op->ops[0] = _r1;
						    }
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail1962:;
						}
					  }
					}
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      case PLUS_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  if (tree_swap_operands_p (_q40, _q41))
		    std::swap (_q40, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_ADD), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1963;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1963;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1963;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_ADD, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1963;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1963:;
			  }
		    }
		  }
	          break;
	        }
	      case MINUS_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_SUB), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1964;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1964;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1964;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_SUB, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1964;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1964:;
			  }
		    }
		  }
	          break;
	        }
	      case MULT_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  if (tree_swap_operands_p (_q40, _q41))
		    std::swap (_q40, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MUL), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1965;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1965;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1965;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MUL, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1965;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1965:;
			  }
		    }
		  }
	          break;
	        }
	      case TRUNC_DIV_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_DIV), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1966;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1966;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1966;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_DIV, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1966;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1966:;
			  }
		    }
		  }
	          break;
	        }
	      case TRUNC_MOD_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MOD), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1967;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1967;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1967;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MOD, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1967;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1967:;
			  }
		    }
		  }
	          break;
	        }
	      case RDIV_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_RDIV), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1968;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1968;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1968;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_RDIV, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1968;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1968:;
			  }
		    }
		  }
	          break;
	        }
	      case MIN_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  if (tree_swap_operands_p (_q40, _q41))
		    std::swap (_q40, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MIN), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1969;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1969;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1969;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MIN, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1969;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1969:;
			  }
		    }
		  }
	          break;
	        }
	      case MAX_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  if (tree_swap_operands_p (_q40, _q41))
		    std::swap (_q40, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_MAX), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1970;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1970;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1970;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_MAX, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1970;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1970:;
			  }
		    }
		  }
	          break;
	        }
	      case BIT_AND_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  if (tree_swap_operands_p (_q40, _q41))
		    std::swap (_q40, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_AND), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1971;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1971;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1971;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_AND, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1971;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1971:;
			  }
		    }
		  }
	          break;
	        }
	      case BIT_IOR_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  if (tree_swap_operands_p (_q40, _q41))
		    std::swap (_q40, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_IOR), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1972;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1972;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1972;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_IOR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1972;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1972:;
			  }
		    }
		  }
	          break;
	        }
	      case BIT_XOR_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  if (tree_swap_operands_p (_q40, _q41))
		    std::swap (_q40, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_XOR), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1973;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1973;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1973;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_XOR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1973;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1973:;
			  }
		    }
		  }
	          break;
	        }
	      case LSHIFT_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_SHL), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1974;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1974;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1974;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_SHL, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1974;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1974:;
			  }
		    }
		  }
	          break;
	        }
	      case RSHIFT_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_SHR), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1975;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			    {
			      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
			      {
				tree _o1[4], _r1;
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[0];
				  gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1975;
				  _o1[0] = _r2;
				}
				_o1[1] = captures[3];
				_o1[2] = captures[4];
				{
				  tree _o2[1], _r2;
				  _o2[0] = captures[1];
				  gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				  tem_op.resimplify (lseq, valueize);
				  _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r2) goto next_after_fail1975;
				  _o1[3] = _r2;
				}
				gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_SHR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail1975;
				res_op->ops[0] = _r1;
			      }
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1975:;
			  }
		    }
		  }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_FMIN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_FMIN), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1976;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			      {
				res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				{
				  tree _o1[4], _r1;
				  {
				    tree _o2[1], _r2;
				    _o2[0] = captures[0];
				    gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				    tem_op.resimplify (lseq, valueize);
				    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				    if (!_r2) goto next_after_fail1976;
				    _o1[0] = _r2;
				  }
				  _o1[1] = captures[3];
				  _o1[2] = captures[4];
				  {
				    tree _o2[1], _r2;
				    _o2[0] = captures[1];
				    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				    tem_op.resimplify (lseq, valueize);
				    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				    if (!_r2) goto next_after_fail1976;
				    _o1[3] = _r2;
				  }
				  gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_FMIN, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1976;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1976:;
			    }
		      }
		    }
	          }
	        break;
	      case CFN_FMAX:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41 };
		      {
/* #line 7974 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree op_type = TREE_TYPE (captures[2]);
/* #line 7975 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (vectorized_internal_fn_supported_p (as_internal_fn (CFN_COND_FMAX), op_type)
 && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
 && single_use (captures[2])
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1977;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7978, __FILE__, __LINE__);
			      {
				res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
				{
				  tree _o1[4], _r1;
				  {
				    tree _o2[1], _r2;
				    _o2[0] = captures[0];
				    gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
				    tem_op.resimplify (lseq, valueize);
				    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				    if (!_r2) goto next_after_fail1977;
				    _o1[0] = _r2;
				  }
				  _o1[1] = captures[3];
				  _o1[2] = captures[4];
				  {
				    tree _o2[1], _r2;
				    _o2[0] = captures[1];
				    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
				    tem_op.resimplify (lseq, valueize);
				    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
				    if (!_r2) goto next_after_fail1977;
				    _o1[3] = _r2;
				  }
				  gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_FMAX, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2], _o1[3]);
				  tem_op.resimplify (lseq, valueize);
				  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
				  if (!_r1) goto next_after_fail1977;
				  res_op->ops[0] = _r1;
				}
				res_op->resimplify (lseq, valueize);
				return true;
			      }
next_after_fail1977:;
			    }
		      }
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q30) == SSA_NAME
		       || is_gimple_min_invariant (_q30)))
		    {
		      _q30 = do_valueize (valueize, _q30);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_FMA:
				    if (gimple_call_num_args (_c2) == 3)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					if (tree_swap_operands_p (_q40, _q41))
					  std::swap (_q40, _q41);
					{
/* #line 7985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42, _p2 };
					  if (gimple_simplify_248 (res_op, seq, valueize, type, captures, CFN_FMA, CFN_COND_FMA))
					    return true;
					}
				      }
				    break;
				  case CFN_FMS:
				    if (gimple_call_num_args (_c2) == 3)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					if (tree_swap_operands_p (_q40, _q41))
					  std::swap (_q40, _q41);
					{
/* #line 7985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42, _p2 };
					  if (gimple_simplify_248 (res_op, seq, valueize, type, captures, CFN_FMS, CFN_COND_FMS))
					    return true;
					}
				      }
				    break;
				  case CFN_FNMA:
				    if (gimple_call_num_args (_c2) == 3)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					if (tree_swap_operands_p (_q40, _q41))
					  std::swap (_q40, _q41);
					{
/* #line 7985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42, _p2 };
					  if (gimple_simplify_248 (res_op, seq, valueize, type, captures, CFN_FNMA, CFN_COND_FNMA))
					    return true;
					}
				      }
				    break;
				  case CFN_FNMS:
				    if (gimple_call_num_args (_c2) == 3)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					if (tree_swap_operands_p (_q40, _q41))
					  std::swap (_q40, _q41);
					{
/* #line 7985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q30, _q40, _q41, _q42, _p2 };
					  if (gimple_simplify_248 (res_op, seq, valueize, type, captures, CFN_FNMS, CFN_COND_FNMS))
					    return true;
					}
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_FMA:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    if (tree_swap_operands_p (_q30, _q31))
		      std::swap (_q30, _q31);
		    {
/* #line 7985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _p2 };
		      if (gimple_simplify_248 (res_op, seq, valueize, type, captures, CFN_FMA, CFN_COND_FMA))
		        return true;
		    }
	          }
	        break;
	      case CFN_FMS:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    if (tree_swap_operands_p (_q30, _q31))
		      std::swap (_q30, _q31);
		    {
/* #line 7985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _p2 };
		      if (gimple_simplify_248 (res_op, seq, valueize, type, captures, CFN_FMS, CFN_COND_FMS))
		        return true;
		    }
	          }
	        break;
	      case CFN_FNMA:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    if (tree_swap_operands_p (_q30, _q31))
		      std::swap (_q30, _q31);
		    {
/* #line 7985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _p2 };
		      if (gimple_simplify_248 (res_op, seq, valueize, type, captures, CFN_FNMA, CFN_COND_FNMA))
		        return true;
		    }
	          }
	        break;
	      case CFN_FNMS:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    if (tree_swap_operands_p (_q30, _q31))
		      std::swap (_q30, _q31);
		    {
/* #line 7985 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32, _p2 };
		      if (gimple_simplify_248 (res_op, seq, valueize, type, captures, CFN_FNMS, CFN_COND_FNMS))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q40) == SSA_NAME
		       || is_gimple_min_invariant (_q40)))
		    {
		      _q40 = do_valueize (valueize, _q40);
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_FMA:
				    if (gimple_call_num_args (_c2) == 3)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					{
/* #line 7992 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51, _q52 };
					  if (gimple_simplify_169 (res_op, seq, valueize, type, captures, CFN_FMA, CFN_COND_FMA))
					    return true;
					}
				      }
				    break;
				  case CFN_FMS:
				    if (gimple_call_num_args (_c2) == 3)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					{
/* #line 7992 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51, _q52 };
					  if (gimple_simplify_169 (res_op, seq, valueize, type, captures, CFN_FMS, CFN_COND_FMS))
					    return true;
					}
				      }
				    break;
				  case CFN_FNMA:
				    if (gimple_call_num_args (_c2) == 3)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					{
/* #line 7992 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51, _q52 };
					  if (gimple_simplify_169 (res_op, seq, valueize, type, captures, CFN_FNMA, CFN_COND_FNMA))
					    return true;
					}
				      }
				    break;
				  case CFN_FNMS:
				    if (gimple_call_num_args (_c2) == 3)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					if (tree_swap_operands_p (_q50, _q51))
					  std::swap (_q50, _q51);
					{
/* #line 7992 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q50, _q51, _q52 };
					  if (gimple_simplify_169 (res_op, seq, valueize, type, captures, CFN_FNMS, CFN_COND_FNMS))
					    return true;
					}
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_FMA:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    if (tree_swap_operands_p (_q40, _q41))
		      std::swap (_q40, _q41);
		    {
/* #line 7992 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41, _q42 };
		      if (gimple_simplify_169 (res_op, seq, valueize, type, captures, CFN_FMA, CFN_COND_FMA))
		        return true;
		    }
	          }
	        break;
	      case CFN_FMS:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    if (tree_swap_operands_p (_q40, _q41))
		      std::swap (_q40, _q41);
		    {
/* #line 7992 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41, _q42 };
		      if (gimple_simplify_169 (res_op, seq, valueize, type, captures, CFN_FMS, CFN_COND_FMS))
		        return true;
		    }
	          }
	        break;
	      case CFN_FNMA:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    if (tree_swap_operands_p (_q40, _q41))
		      std::swap (_q40, _q41);
		    {
/* #line 7992 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41, _q42 };
		      if (gimple_simplify_169 (res_op, seq, valueize, type, captures, CFN_FNMA, CFN_COND_FNMA))
		        return true;
		    }
	          }
	        break;
	      case CFN_FNMS:
	        if (gimple_call_num_args (_c1) == 3)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    if (tree_swap_operands_p (_q40, _q41))
		      std::swap (_q40, _q41);
		    {
/* #line 7992 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _p2, _q40, _q41, _q42 };
		      if (gimple_simplify_169 (res_op, seq, valueize, type, captures, CFN_FNMS, CFN_COND_FNMS))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q30) == SSA_NAME
		       || is_gimple_min_invariant (_q30)))
		    {
		      _q30 = do_valueize (valueize, _q30);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_COND_ADD:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_ADD))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_SUB:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_SUB))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_MUL:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_MUL))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_DIV:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_DIV))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_MOD:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_MOD))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_RDIV:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_RDIV))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_MIN:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_MIN))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_MAX:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_MAX))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_FMIN:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_FMIN))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_FMAX:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_FMAX))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_AND:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_AND))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_IOR:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_IOR))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_XOR:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_XOR))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_SHL:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_SHL))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_SHR:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _p2 };
					      if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_SHR))
					        return true;
					    }
					  }
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_COND_ADD:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_ADD))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_SUB:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_SUB))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_MUL:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_MUL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_DIV:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_DIV))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_MOD:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_MOD))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_RDIV:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_RDIV))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_MIN:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_MIN))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_MAX:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_MAX))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_FMIN:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_FMIN))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_FMAX:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_FMAX))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_AND:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_AND))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_IOR:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_IOR))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_XOR:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_XOR))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_SHL:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_SHL))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_SHR:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8005 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _p2 };
			  if (gimple_simplify_118 (res_op, seq, valueize, type, captures, CFN_COND_SHR))
			    return true;
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q40) == SSA_NAME
		       || is_gimple_min_invariant (_q40)))
		    {
		      _q40 = do_valueize (valueize, _q40);
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_COND_ADD:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_ADD))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_SUB:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_SUB))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_MUL:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_MUL))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_DIV:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_DIV))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_MOD:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_MOD))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_RDIV:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_RDIV))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_MIN:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_MIN))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_MAX:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_MAX))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_FMIN:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_FMIN))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_FMAX:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_FMAX))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_AND:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_AND))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_IOR:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_IOR))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_XOR:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_XOR))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_SHL:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_SHL))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_SHR:
				    if (gimple_call_num_args (_c2) == 4)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					{
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53 };
					  if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_SHR))
					    return true;
					}
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_COND_ADD:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_ADD))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_SUB:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_SUB))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_MUL:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_MUL))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_DIV:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_DIV))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_MOD:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_MOD))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_RDIV:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_RDIV))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_MIN:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_MIN))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_MAX:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_MAX))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_FMIN:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_FMIN))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_FMAX:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_FMAX))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_AND:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_AND))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_IOR:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_IOR))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_XOR:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_XOR))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_SHL:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_SHL))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_SHR:
	        if (gimple_call_num_args (_c1) == 4)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    {
/* #line 8010 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43 };
		      if (gimple_simplify_88 (res_op, seq, valueize, type, captures, CFN_COND_SHR))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q30) == SSA_NAME
		       || is_gimple_min_invariant (_q30)))
		    {
		      _q30 = do_valueize (valueize, _q30);
		      switch (TREE_CODE (_q30))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q30))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_COND_FMA:
				    if (gimple_call_num_args (_c2) == 5)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					tree _q44 = gimple_call_arg (_c2, 4);
					_q44 = do_valueize (valueize, _q44);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
					      if (gimple_simplify_464 (res_op, seq, valueize, type, captures, CFN_COND_FMA))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_FMS:
				    if (gimple_call_num_args (_c2) == 5)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					tree _q44 = gimple_call_arg (_c2, 4);
					_q44 = do_valueize (valueize, _q44);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
					      if (gimple_simplify_464 (res_op, seq, valueize, type, captures, CFN_COND_FMS))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_FNMA:
				    if (gimple_call_num_args (_c2) == 5)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					tree _q44 = gimple_call_arg (_c2, 4);
					_q44 = do_valueize (valueize, _q44);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
					      if (gimple_simplify_464 (res_op, seq, valueize, type, captures, CFN_COND_FNMA))
					        return true;
					    }
					  }
				      }
				    break;
				  case CFN_COND_FNMS:
				    if (gimple_call_num_args (_c2) == 5)
				      {
					tree _q40 = gimple_call_arg (_c2, 0);
					_q40 = do_valueize (valueize, _q40);
					tree _q41 = gimple_call_arg (_c2, 1);
					_q41 = do_valueize (valueize, _q41);
					tree _q42 = gimple_call_arg (_c2, 2);
					_q42 = do_valueize (valueize, _q42);
					tree _q43 = gimple_call_arg (_c2, 3);
					_q43 = do_valueize (valueize, _q43);
					tree _q44 = gimple_call_arg (_c2, 4);
					_q44 = do_valueize (valueize, _q44);
					if (tree_swap_operands_p (_q41, _q42))
					  std::swap (_q41, _q42);
					if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
					  {
					    {
/* #line 8019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q41, _q42, _q43, _q44, _p2 };
					      if (gimple_simplify_464 (res_op, seq, valueize, type, captures, CFN_COND_FNMS))
					        return true;
					    }
					  }
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_COND_FMA:
	        if (gimple_call_num_args (_c1) == 5)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    tree _q34 = gimple_call_arg (_c1, 4);
		    _q34 = do_valueize (valueize, _q34);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
			  if (gimple_simplify_464 (res_op, seq, valueize, type, captures, CFN_COND_FMA))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_FMS:
	        if (gimple_call_num_args (_c1) == 5)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    tree _q34 = gimple_call_arg (_c1, 4);
		    _q34 = do_valueize (valueize, _q34);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
			  if (gimple_simplify_464 (res_op, seq, valueize, type, captures, CFN_COND_FMS))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_FNMA:
	        if (gimple_call_num_args (_c1) == 5)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    tree _q34 = gimple_call_arg (_c1, 4);
		    _q34 = do_valueize (valueize, _q34);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
			  if (gimple_simplify_464 (res_op, seq, valueize, type, captures, CFN_COND_FNMA))
			    return true;
			}
		      }
	          }
	        break;
	      case CFN_COND_FNMS:
	        if (gimple_call_num_args (_c1) == 5)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    tree _q32 = gimple_call_arg (_c1, 2);
		    _q32 = do_valueize (valueize, _q32);
		    tree _q33 = gimple_call_arg (_c1, 3);
		    _q33 = do_valueize (valueize, _q33);
		    tree _q34 = gimple_call_arg (_c1, 4);
		    _q34 = do_valueize (valueize, _q34);
		    if (tree_swap_operands_p (_q31, _q32))
		      std::swap (_q31, _q32);
		    if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
		      {
			{
/* #line 8019 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q31, _q32, _q33, _q34, _p2 };
			  if (gimple_simplify_464 (res_op, seq, valueize, type, captures, CFN_COND_FNMS))
			    return true;
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q40 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q40) == SSA_NAME
		       || is_gimple_min_invariant (_q40)))
		    {
		      _q40 = do_valueize (valueize, _q40);
		      switch (TREE_CODE (_q40))
		        {
			case SSA_NAME:
			  if (gimple *_d2 = get_def (valueize, _q40))
			    {
			      if (gcall *_c2 = dyn_cast <gcall *> (_d2))
			        switch (gimple_call_combined_fn (_c2))
				  {
				  case CFN_COND_FMA:
				    if (gimple_call_num_args (_c2) == 5)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					tree _q54 = gimple_call_arg (_c2, 4);
					_q54 = do_valueize (valueize, _q54);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
					  if (gimple_simplify_179 (res_op, seq, valueize, type, captures, CFN_COND_FMA))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_FMS:
				    if (gimple_call_num_args (_c2) == 5)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					tree _q54 = gimple_call_arg (_c2, 4);
					_q54 = do_valueize (valueize, _q54);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
					  if (gimple_simplify_179 (res_op, seq, valueize, type, captures, CFN_COND_FMS))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_FNMA:
				    if (gimple_call_num_args (_c2) == 5)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					tree _q54 = gimple_call_arg (_c2, 4);
					_q54 = do_valueize (valueize, _q54);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
					  if (gimple_simplify_179 (res_op, seq, valueize, type, captures, CFN_COND_FNMA))
					    return true;
					}
				      }
				    break;
				  case CFN_COND_FNMS:
				    if (gimple_call_num_args (_c2) == 5)
				      {
					tree _q50 = gimple_call_arg (_c2, 0);
					_q50 = do_valueize (valueize, _q50);
					tree _q51 = gimple_call_arg (_c2, 1);
					_q51 = do_valueize (valueize, _q51);
					tree _q52 = gimple_call_arg (_c2, 2);
					_q52 = do_valueize (valueize, _q52);
					tree _q53 = gimple_call_arg (_c2, 3);
					_q53 = do_valueize (valueize, _q53);
					tree _q54 = gimple_call_arg (_c2, 4);
					_q54 = do_valueize (valueize, _q54);
					if (tree_swap_operands_p (_q51, _q52))
					  std::swap (_q51, _q52);
					{
/* #line 8024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q50, _q51, _q52, _q53, _q54 };
					  if (gimple_simplify_179 (res_op, seq, valueize, type, captures, CFN_COND_FNMS))
					    return true;
					}
				      }
				    break;
				  default:;
				  }
			    }
			  break;
		        default:;
		        }
		    }
	          break;
	        }
	      default:;
	      }
	  else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_COND_FMA:
	        if (gimple_call_num_args (_c1) == 5)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    tree _q44 = gimple_call_arg (_c1, 4);
		    _q44 = do_valueize (valueize, _q44);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		      if (gimple_simplify_179 (res_op, seq, valueize, type, captures, CFN_COND_FMA))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_FMS:
	        if (gimple_call_num_args (_c1) == 5)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    tree _q44 = gimple_call_arg (_c1, 4);
		    _q44 = do_valueize (valueize, _q44);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		      if (gimple_simplify_179 (res_op, seq, valueize, type, captures, CFN_COND_FMS))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_FNMA:
	        if (gimple_call_num_args (_c1) == 5)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    tree _q44 = gimple_call_arg (_c1, 4);
		    _q44 = do_valueize (valueize, _q44);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		      if (gimple_simplify_179 (res_op, seq, valueize, type, captures, CFN_COND_FNMA))
		        return true;
		    }
	          }
	        break;
	      case CFN_COND_FNMS:
	        if (gimple_call_num_args (_c1) == 5)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    tree _q42 = gimple_call_arg (_c1, 2);
		    _q42 = do_valueize (valueize, _q42);
		    tree _q43 = gimple_call_arg (_c1, 3);
		    _q43 = do_valueize (valueize, _q43);
		    tree _q44 = gimple_call_arg (_c1, 4);
		    _q44 = do_valueize (valueize, _q44);
		    if (tree_swap_operands_p (_q41, _q42))
		      std::swap (_q41, _q42);
		    {
/* #line 8024 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41, _q42, _q43, _q44 };
		      if (gimple_simplify_179 (res_op, seq, valueize, type, captures, CFN_COND_FNMS))
		        return true;
		    }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_BIT_FIELD_REF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case BIT_FIELD_REF:
	        {
		  tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q20) == SSA_NAME
		       || is_gimple_min_invariant (_q20)))
		    {
		      _q20 = do_valueize (valueize, _q20);
		      tree _q21 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 1);
		      if ((TREE_CODE (_q21) == SSA_NAME
		           || is_gimple_min_invariant (_q21)))
		        {
			  _q21 = do_valueize (valueize, _q21);
			  tree _q22 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 2);
			  if ((TREE_CODE (_q22) == SSA_NAME
			       || is_gimple_min_invariant (_q22)))
			    {
			      _q22 = do_valueize (valueize, _q22);
			      {
/* #line 7409 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1, _p2 };
				gimple_seq *lseq = seq;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1978;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7409, __FILE__, __LINE__);
				{
				  res_op->set_op (BIT_FIELD_REF, type, 3);
				  res_op->ops[0] = captures[0];
				  res_op->ops[1] = captures[3];
				  res_op->ops[2] =  const_binop (PLUS_EXPR, bitsizetype, captures[2], captures[4]);
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1978:;
			      }
			    }
		        }
		    }
	          break;
	        }
	      case VIEW_CONVERT_EXPR:
	        {
		  tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
		  if ((TREE_CODE (_q20) == SSA_NAME
		       || is_gimple_min_invariant (_q20)))
		    {
		      _q20 = do_valueize (valueize, _q20);
		      {
/* #line 7413 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1979;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7413, __FILE__, __LINE__);
			{
			  res_op->set_op (BIT_FIELD_REF, type, 3);
			  res_op->ops[0] = captures[0];
			  res_op->ops[1] = captures[1];
			  res_op->ops[2] = captures[2];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1979:;
		      }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  if (integer_zerop (_p2))
    {
      {
/* #line 7417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
/* #line 7417 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (tree_int_cst_equal (captures[1], TYPE_SIZE (TREE_TYPE (captures[0])))
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1980;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7418, __FILE__, __LINE__);
	    {
	      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1980:;
	  }
      }
    }
  {
/* #line 7423 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 7423 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (integer_zerop (captures[2])
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1981;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7427, __FILE__, __LINE__);
	    {
	      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
	      {
		tree _o1[1], _r1;
		_o1[0] = captures[0];
		gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
		tem_op.resimplify (lseq, valueize);
		_r1 = maybe_push_res_to_seq (&tem_op, lseq);
		if (!_r1) goto next_after_fail1981;
		res_op->ops[0] = _r1;
	      }
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1981:;
	  }
	else
	  {
/* #line 7428 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	    if (tree_int_cst_equal (captures[2], TYPE_SIZE (TREE_TYPE (TREE_TYPE (captures[0]))))
)
	      {
		gimple_seq *lseq = seq;
		if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1982;
		if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7429, __FILE__, __LINE__);
		{
		  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
		  {
		    tree _o1[1], _r1;
		    _o1[0] = captures[0];
		    gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
		    tem_op.resimplify (lseq, valueize);
		    _r1 = maybe_push_res_to_seq (&tem_op, lseq);
		    if (!_r1) goto next_after_fail1982;
		    res_op->ops[0] = _r1;
		  }
		  res_op->resimplify (lseq, valueize);
		  return true;
		}
next_after_fail1982:;
	      }
	  }
      }
    else
      {
/* #line 7430 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
 && INTEGRAL_TYPE_P (type)
 && (!
1
 || 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))
)
	  {
	    gimple_seq *lseq = seq;
	    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1983;
	    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7449, __FILE__, __LINE__);
	    {
	      res_op->set_op (NOP_EXPR, type, 1);
	      res_op->ops[0] = captures[0];
	      res_op->resimplify (lseq, valueize);
	      return true;
	    }
next_after_fail1983:;
	  }
      }
  }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case CONSTRUCTOR:
	        {
		  {
/* #line 7455 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
/* #line 7455 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    if (multiple_p (idx, k, &elt) && multiple_p (n, k, &count)
)
				      {
/* #line 7493 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (CONSTRUCTOR_NELTS (ctor) == 0
)
					  {
					    gimple_seq *lseq = seq;
					    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1984;
					    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7494, __FILE__, __LINE__);
					    {
					      tree tem;
					      tem =  build_zero_cst (type);
					      res_op->set_value (tem);
					      return true;
					    }
next_after_fail1984:;
					  }
					else
					  {
/* #line 7495 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (count == 1
)
					      {
/* #line 7496 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (elt < CONSTRUCTOR_NELTS (ctor)
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1985;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7497, __FILE__, __LINE__);
						    {
						      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						      res_op->ops[0] =  CONSTRUCTOR_ELT (ctor, elt)->value;
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1985:;
						  }
						else
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1986;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7498, __FILE__, __LINE__);
						    {
						      tree tem;
						      tem =  build_zero_cst (type);
						      res_op->set_value (tem);
						      return true;
						    }
next_after_fail1986:;
						  }
					      }
					    else
					      {
/* #line 7502 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (single_use (captures[0])
)
						  {
						    {
/* #line 7503 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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));
							gimple_seq *lseq = seq;
							if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1987;
							if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7525, __FILE__, __LINE__);
							{
							  res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
							  res_op->ops[0] =  res;
							  res_op->resimplify (lseq, valueize);
							  return true;
							}
next_after_fail1987:;
						    }
						  }
					      }
					  }
				      }
				    else
				      {
/* #line 7527 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					if (k.is_constant (&const_k)
 && idx + n <= (idx / const_k + 1) * const_k
)
					  {
/* #line 7530 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (CONSTRUCTOR_NELTS (ctor) <= idx / const_k
)
					      {
						gimple_seq *lseq = seq;
						if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1988;
						if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7531, __FILE__, __LINE__);
						{
						  tree tem;
						  tem =  build_zero_cst (type);
						  res_op->set_value (tem);
						  return true;
						}
next_after_fail1988:;
					      }
					    else
					      {
/* #line 7532 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						if (n == const_k
)
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1989;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7533, __FILE__, __LINE__);
						    {
						      res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
						      res_op->ops[0] =  CONSTRUCTOR_ELT (ctor, idx / const_k)->value;
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1989:;
						  }
						else
						  {
						    gimple_seq *lseq = seq;
						    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1990;
						    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7534, __FILE__, __LINE__);
						    {
						      res_op->set_op (BIT_FIELD_REF, type, 3);
						      res_op->ops[0] =  CONSTRUCTOR_ELT (ctor, idx / const_k)->value;
						      res_op->ops[1] = captures[1];
						      res_op->ops[2] =  bitsize_int ((idx % const_k) * width);
						      res_op->resimplify (lseq, valueize);
						      return true;
						    }
next_after_fail1990:;
						  }
					      }
					  }
				      }
				}
			      }
			}
		      }
		  }
	          break;
	        }
	      case BIT_INSERT_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  {
/* #line 7542 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _p1, _p2 };
		    {
/* #line 7542 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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.4.0-r0/gcc-13.4.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)
)
			  {
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1991;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7556, __FILE__, __LINE__);
			    {
			      res_op->set_op (BIT_FIELD_REF, type, 3);
			      res_op->ops[0] = captures[1];
			      res_op->ops[1] = captures[3];
			      res_op->ops[2] =  wide_int_to_tree (bitsizetype,
 wi::to_wide (captures[4])
 - wi::to_wide (captures[2]));
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail1991:;
			  }
			else
			  {
/* #line 7559 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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
)
			      {
				gimple_seq *lseq = seq;
				if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1992;
				if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7561, __FILE__, __LINE__);
				{
				  res_op->set_op (NOP_EXPR, type, 1);
				  res_op->ops[0] = captures[1];
				  res_op->resimplify (lseq, valueize);
				  return true;
				}
next_after_fail1992:;
			      }
			    else
			      {
/* #line 7562 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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)
)
				  {
				    gimple_seq *lseq = seq;
				    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1993;
				    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7566, __FILE__, __LINE__);
				    {
				      res_op->set_op (BIT_FIELD_REF, type, 3);
				      res_op->ops[0] = captures[0];
				      res_op->ops[1] = captures[3];
				      res_op->ops[2] = captures[4];
				      res_op->resimplify (lseq, valueize);
				      return true;
				    }
next_after_fail1993:;
				  }
			      }
			  }
		    }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAF (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_413 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAF))
		      return true;
		  }
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_235 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAF))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_413 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAF))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
		    if (gimple_simplify_484 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAF))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_235 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAF))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMA (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_413 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMA))
		      return true;
		  }
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_235 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMA))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_413 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMA))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
		    if (gimple_simplify_484 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMA))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_235 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMA))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_BUILT_IN_FMAL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_413 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAL))
		      return true;
		  }
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_235 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAL))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_413 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAL))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
		    if (gimple_simplify_484 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAL))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_235 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FMAL))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_FMA (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_413 (res_op, seq, valueize, type, captures, CFN_FMA))
		      return true;
		  }
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_235 (res_op, seq, valueize, type, captures, CFN_FMA))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_413 (res_op, seq, valueize, type, captures, CFN_FMA))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
		    if (gimple_simplify_484 (res_op, seq, valueize, type, captures, CFN_FMA))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_235 (res_op, seq, valueize, type, captures, CFN_FMA))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_FMS (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_389 (res_op, seq, valueize, type, captures))
		      return true;
		  }
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_15 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_389 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (canonicalize_math_after_vectorization_p ()
)
		      {
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1994;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7589, __FILE__, __LINE__);
			{
			  res_op->set_op (CFN_FMA, type, 3);
			  res_op->ops[0] = captures[0];
			  res_op->ops[1] = captures[1];
			  res_op->ops[2] = captures[2];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1994:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_15 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_FNMA (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_276 (res_op, seq, valueize, type, captures))
		      return true;
		  }
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_429 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_276 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (canonicalize_math_after_vectorization_p ()
)
		      {
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1995;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7603, __FILE__, __LINE__);
			{
			  res_op->set_op (CFN_FNMS, type, 3);
			  res_op->ops[0] = captures[0];
			  res_op->ops[1] = captures[1];
			  res_op->ops[2] = captures[2];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1995:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_429 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_FNMS (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _p2 };
		    if (gimple_simplify_501 (res_op, seq, valueize, type, captures))
		      return true;
		  }
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
				    if (gimple_simplify_313 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _p2 };
		    if (gimple_simplify_501 (res_op, seq, valueize, type, captures))
		      return true;
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		    if (canonicalize_math_after_vectorization_p ()
)
		      {
			gimple_seq *lseq = seq;
			if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1996;
			if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 7617, __FILE__, __LINE__);
			{
			  res_op->set_op (CFN_FNMA, type, 3);
			  res_op->ops[0] = captures[0];
			  res_op->ops[1] = captures[1];
			  res_op->ops[2] = captures[2];
			  res_op->resimplify (lseq, valueize);
			  return true;
			}
next_after_fail1996:;
		      }
		  }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case NEGATE_EXPR:
	        {
		  tree _q30 = gimple_assign_rhs1 (_a1);
		  _q30 = do_valueize (valueize, _q30);
		  switch (TREE_CODE (_p2))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p2))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case NEGATE_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  {
/* #line 7568 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q50 };
				    if (gimple_simplify_313 (res_op, seq, valueize, type, captures))
				      return true;
				  }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_VEC_PERM_EXPR (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2)
{
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case PLUS_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  if (tree_swap_operands_p (_q20, _q21))
		    std::swap (_q20, _q21);
		  switch (TREE_CODE (_p1))
		    {
		    case SSA_NAME:
		      if (gimple *_d2 = get_def (valueize, _p1))
		        {
			  if (gassign *_a2 = dyn_cast <gassign *> (_d2))
			    switch (gimple_assign_rhs_code (_a2))
			      {
			      case MINUS_EXPR:
			        {
				  tree _q50 = gimple_assign_rhs1 (_a2);
				  _q50 = do_valueize (valueize, _q50);
				  tree _q51 = gimple_assign_rhs2 (_a2);
				  _q51 = do_valueize (valueize, _q51);
				  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 8142 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p2 };
						  if (gimple_simplify_77 (res_op, seq, valueize, type, captures))
						    return true;
						}
					        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 8142 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						  tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p2 };
						  if (gimple_simplify_77 (res_op, seq, valueize, type, captures))
						    return true;
						}
					        break;
					      }
					    default:;
					    }
				        }
				    }
			          break;
			        }
			      default:;
			      }
		        }
		      break;
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p2))
    {
    case VECTOR_CST:
      {
	{
/* #line 8201 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _p2 };
	  {
/* #line 8201 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 8210 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	      if (tree_to_vec_perm_builder (&builder, op2)
)
		{
		  {
/* #line 8211 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 8218 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		      if (sel.series_p (0, 1, 0, 1)
)
			{
			  gimple_seq *lseq = seq;
			  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1997;
			  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8219, __FILE__, __LINE__);
			  {
			    tree tem;
			    tem =  op0;
			    res_op->set_value (tem);
			    return true;
			  }
next_after_fail1997:;
			}
		      else
			{
/* #line 8220 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  if (sel.series_p (0, 1, nelts, 1)
)
			    {
			      gimple_seq *lseq = seq;
			      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1998;
			      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8221, __FILE__, __LINE__);
			      {
				tree tem;
				tem =  op1;
				res_op->set_value (tem);
				return true;
			      }
next_after_fail1998:;
			    }
			  else
			    {
			      {
/* #line 8222 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 8251 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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))
)
				    {
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1999;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8256, __FILE__, __LINE__);
				      {
					tree tem;
					tem =  t;
					res_op->set_value (tem);
					return true;
				      }
next_after_fail1999:;
				    }
				  else
				    {
				      {
/* #line 8257 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 8329 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					  if (ins
)
					    {
					      gimple_seq *lseq = seq;
					      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2000;
					      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8330, __FILE__, __LINE__);
					      {
						res_op->set_op (BIT_INSERT_EXPR, type, 3);
						res_op->ops[0] =  op0;
						res_op->ops[1] =  ins;
						res_op->ops[2] =  bitsize_int (at * vector_element_bits (type));
						res_op->resimplify (lseq, valueize);
						return true;
					      }
next_after_fail2000:;
					    }
					  else
					    {
/* #line 8332 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					      if (changed
)
						{
						  gimple_seq *lseq = seq;
						  if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2001;
						  if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8333, __FILE__, __LINE__);
						  {
						    res_op->set_op (VEC_PERM_EXPR, type, 3);
						    res_op->ops[0] =  op0;
						    res_op->ops[1] =  op1;
						    res_op->ops[2] =  op2;
						    res_op->resimplify (lseq, valueize);
						    return true;
						  }
next_after_fail2001:;
						}
					    }
				      }
				    }
			      }
			    }
			}
		  }
		}
	  }
	}
        break;
      }
    default:;
    }
  switch (TREE_CODE (_p0))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p0))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_PERM_EXPR:
	        {
		  tree _q20 = gimple_assign_rhs1 (_a1);
		  _q20 = do_valueize (valueize, _q20);
		  tree _q21 = gimple_assign_rhs2 (_a1);
		  _q21 = do_valueize (valueize, _q21);
		  tree _q22 = gimple_assign_rhs3 (_a1);
		  _q22 = do_valueize (valueize, _q22);
		  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 8380 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p2 };
/* #line 8380 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
				    if (TYPE_VECTOR_SUBPARTS (type).is_constant ()
)
				      {
					{
/* #line 8381 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 8390 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
					    if (tree_to_vec_perm_builder (&builder0, captures[3])
 && tree_to_vec_perm_builder (&builder1, captures[4])
)
					      {
						{
/* #line 8392 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.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 8415 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
						    if (op0
)
						      {
							gimple_seq *lseq = seq;
							if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2002;
							if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8416, __FILE__, __LINE__);
							{
							  res_op->set_op (VEC_PERM_EXPR, type, 3);
							  res_op->ops[0] = captures[1];
							  res_op->ops[1] = captures[2];
							  res_op->ops[2] =  op0;
							  res_op->resimplify (lseq, valueize);
							  return true;
							}
next_after_fail2002:;
						      }
						}
					      }
					}
				      }
				  }
			          break;
			        }
			      default:;
			      }
			  }
		        break;
		      }
		    default:;
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
if (gimple_vec_same_elem_p (_p0, valueize))
  {
    if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
      {
	{
/* #line 8352 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p2 };
/* #line 8352 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
	  if (types_match (type, TREE_TYPE (captures[0]))
)
	    {
	      gimple_seq *lseq = seq;
	      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2003;
	      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8353, __FILE__, __LINE__);
	      {
		tree tem;
		tem = captures[0];
		res_op->set_value (tem);
		return true;
	      }
next_after_fail2003:;
	    }
	  else
	    {
	      {
/* #line 8354 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree elem = uniform_vector_p (captures[0]);
/* #line 8358 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
		  if (elem
)
		    {
		      gimple_seq *lseq = seq;
		      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2004;
		      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8359, __FILE__, __LINE__);
		      {
			tree tem;
			tem =  build_vector_from_val (type, elem);
			res_op->set_value (tem);
			return true;
		      }
next_after_fail2004:;
		    }
	      }
	    }
	}
      }
  }
  return false;
}

static bool
gimple_simplify (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper code, const tree type, tree _p0, tree _p1, tree _p2)
{
  switch (code.get_rep())
    {
    case COND_EXPR:
      return gimple_simplify_COND_EXPR (res_op, seq, valueize, code, type, _p0, _p1, _p2);
    case VEC_COND_EXPR:
      return gimple_simplify_VEC_COND_EXPR (res_op, seq, valueize, code, type, _p0, _p1, _p2);
    case BIT_FIELD_REF:
      return gimple_simplify_BIT_FIELD_REF (res_op, seq, valueize, code, type, _p0, _p1, _p2);
    case -CFN_BUILT_IN_FMAF:
      return gimple_simplify_CFN_BUILT_IN_FMAF (res_op, seq, valueize, code, type, _p0, _p1, _p2);
    case -CFN_BUILT_IN_FMA:
      return gimple_simplify_CFN_BUILT_IN_FMA (res_op, seq, valueize, code, type, _p0, _p1, _p2);
    case -CFN_BUILT_IN_FMAL:
      return gimple_simplify_CFN_BUILT_IN_FMAL (res_op, seq, valueize, code, type, _p0, _p1, _p2);
    case -CFN_FMA:
      return gimple_simplify_CFN_FMA (res_op, seq, valueize, code, type, _p0, _p1, _p2);
    case -CFN_FMS:
      return gimple_simplify_CFN_FMS (res_op, seq, valueize, code, type, _p0, _p1, _p2);
    case -CFN_FNMA:
      return gimple_simplify_CFN_FNMA (res_op, seq, valueize, code, type, _p0, _p1, _p2);
    case -CFN_FNMS:
      return gimple_simplify_CFN_FNMS (res_op, seq, valueize, code, type, _p0, _p1, _p2);
    case VEC_PERM_EXPR:
      return gimple_simplify_VEC_PERM_EXPR (res_op, seq, valueize, code, type, _p0, _p1, _p2);
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_COND_MUL (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2, tree _p3)
{
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q40 = gimple_call_arg (_c1, 0);
		    _q40 = do_valueize (valueize, _q40);
		    tree _q41 = gimple_call_arg (_c1, 1);
		    _q41 = do_valueize (valueize, _q41);
		    if (real_onep (_q40))
		      {
			{
/* #line 347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q41, _p3 };
			  {
/* #line 347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree signs = sign_mask_for (type);
/* #line 348 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (signs
)
				{
				  {
/* #line 349 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree inttype = TREE_TYPE (signs);
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2005;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 350, __FILE__, __LINE__);
				      {
					res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
					{
					  tree _o1[4], _r1;
					  _o1[0] = captures[0];
					  {
					    tree _o2[1], _r2;
					    _o2[0] = captures[1];
					    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, inttype, _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail2005;
					    _o1[1] = _r2;
					  }
					  {
					    tree _o2[2], _r2;
					    {
					      tree _o3[1], _r3;
					      _o3[0] = captures[2];
					      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, inttype, _o3[0]);
					      tem_op.resimplify (lseq, valueize);
					      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r3) goto next_after_fail2005;
					      _o2[0] = _r3;
					    }
					    _o2[1] =  signs;
					    gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail2005;
					    _o1[2] = _r2;
					  }
					  {
					    tree _o2[1], _r2;
					    _o2[0] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, inttype, _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail2005;
					    _o1[3] = _r2;
					  }
					  gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_XOR, inttype, _o1[0], _o1[1], _o1[2], _o1[3]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail2005;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail2005:;
				  }
				}
			  }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  switch (TREE_CODE (_p1))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p1))
        {
	  if (gcall *_c1 = dyn_cast <gcall *> (_d1))
	    switch (gimple_call_combined_fn (_c1))
	      {
	      case CFN_COPYSIGN:
	        if (gimple_call_num_args (_c1) == 2)
	          {
		    tree _q30 = gimple_call_arg (_c1, 0);
		    _q30 = do_valueize (valueize, _q30);
		    tree _q31 = gimple_call_arg (_c1, 1);
		    _q31 = do_valueize (valueize, _q31);
		    if (real_onep (_q30))
		      {
			{
/* #line 347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			  tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p2, _q31, _p3 };
			  {
/* #line 347 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree signs = sign_mask_for (type);
/* #line 348 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			      if (signs
)
				{
				  {
/* #line 349 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
 tree inttype = TREE_TYPE (signs);
				      gimple_seq *lseq = seq;
				      if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2006;
				      if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 350, __FILE__, __LINE__);
				      {
					res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
					{
					  tree _o1[4], _r1;
					  _o1[0] = captures[0];
					  {
					    tree _o2[1], _r2;
					    _o2[0] = captures[1];
					    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, inttype, _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail2006;
					    _o1[1] = _r2;
					  }
					  {
					    tree _o2[2], _r2;
					    {
					      tree _o3[1], _r3;
					      _o3[0] = captures[2];
					      gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, inttype, _o3[0]);
					      tem_op.resimplify (lseq, valueize);
					      _r3 = maybe_push_res_to_seq (&tem_op, lseq);
					      if (!_r3) goto next_after_fail2006;
					      _o2[0] = _r3;
					    }
					    _o2[1] =  signs;
					    gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail2006;
					    _o1[2] = _r2;
					  }
					  {
					    tree _o2[1], _r2;
					    _o2[0] = captures[3];
					    gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, inttype, _o2[0]);
					    tem_op.resimplify (lseq, valueize);
					    _r2 = maybe_push_res_to_seq (&tem_op, lseq);
					    if (!_r2) goto next_after_fail2006;
					    _o1[3] = _r2;
					  }
					  gimple_match_op tem_op (res_op->cond.any_else (), CFN_COND_XOR, inttype, _o1[0], _o1[1], _o1[2], _o1[3]);
					  tem_op.resimplify (lseq, valueize);
					  _r1 = maybe_push_res_to_seq (&tem_op, lseq);
					  if (!_r1) goto next_after_fail2006;
					  res_op->ops[0] = _r1;
					}
					res_op->resimplify (lseq, valueize);
					return true;
				      }
next_after_fail2006:;
				  }
				}
			  }
			}
		      }
	          }
	        break;
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify_CFN_COND_ADD (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper ARG_UNUSED (code), tree ARG_UNUSED (type)
, tree _p0, tree _p1, tree _p2, tree _p3)
{
  switch (TREE_CODE (_p2))
    {
    case SSA_NAME:
      if (gimple *_d1 = get_def (valueize, _p2))
        {
	  if (gassign *_a1 = dyn_cast <gassign *> (_d1))
	    switch (gimple_assign_rhs_code (_a1))
	      {
	      case VEC_COND_EXPR:
	        {
		  tree _q40 = gimple_assign_rhs1 (_a1);
		  _q40 = do_valueize (valueize, _q40);
		  tree _q41 = gimple_assign_rhs2 (_a1);
		  _q41 = do_valueize (valueize, _q41);
		  tree _q42 = gimple_assign_rhs3 (_a1);
		  _q42 = do_valueize (valueize, _q42);
		  if (integer_zerop (_q42))
		    {
		      if ((_p3 == _p1 && ! TREE_SIDE_EFFECTS (_p3)) || (operand_equal_p (_p3, _p1, 0) && types_match (_p3, _p1)))
			{
			  {
/* #line 8039 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/match.pd" */
			    tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q41 };
			    gimple_seq *lseq = seq;
			    if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2007;
			    if (UNLIKELY (dump_file && (dump_flags & TDF_FOLDING))) fprintf (dump_file, "Applying pattern %s:%d, %s:%d\n", "match.pd", 8039, __FILE__, __LINE__);
			    {
			      res_op->set_op (CFN_COND_ADD, type, 4);
			      {
				tree _o1[2], _r1;
				_o1[0] = captures[0];
				_o1[1] = captures[2];
				gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
				tem_op.resimplify (lseq, valueize);
				_r1 = maybe_push_res_to_seq (&tem_op, lseq);
				if (!_r1) goto next_after_fail2007;
				res_op->ops[0] = _r1;
			      }
			      res_op->ops[1] = captures[1];
			      res_op->ops[2] = captures[3];
			      res_op->ops[3] = captures[1];
			      res_op->resimplify (lseq, valueize);
			      return true;
			    }
next_after_fail2007:;
			  }
		        }
		    }
	          break;
	        }
	      default:;
	      }
        }
      break;
    default:;
    }
  return false;
}

static bool
gimple_simplify (gimple_match_op *res_op, gimple_seq *seq,
                 tree (*valueize)(tree) ATTRIBUTE_UNUSED,
                 code_helper code, const tree type, tree _p0, tree _p1, tree _p2, tree _p3)
{
  switch (code.get_rep())
    {
    case -CFN_COND_MUL:
      return gimple_simplify_CFN_COND_MUL (res_op, seq, valueize, code, type, _p0, _p1, _p2, _p3);
    case -CFN_COND_ADD:
      return gimple_simplify_CFN_COND_ADD (res_op, seq, valueize, code, type, _p0, _p1, _p2, _p3);
    default:;
    }
  return false;
}

static bool
gimple_simplify (gimple_match_op*, gimple_seq*,
                 tree (*)(tree), code_helper,
                 const tree, tree, tree, tree, tree, tree)
{
  return false;
}
